【问题标题】:visual studio 2010 remote debugging: start external program: directory does not existVisual Studio 2010远程调试:启动外部程序:目录不存在
【发布时间】:2014-07-11 18:47:45
【问题描述】:

如果我执行“附加到进程”,一切正常。

但我需要在启动应用程序期间调试问题,因此我需要能够“启动项目”或“启动外部程序”远程 exe。

当我这样做时,我得到“目录不存在”。 (推测,它要么在本地寻找这个不存在的目录,要么它缺少权限。)

详情: * .Net 框架 3.5; C# Windows 窗体,带有单击时的按钮

Debug.WriteLine("Hello World!");
  • 两台 Windows 7 Ultimate PC,用户名和密码相同,管理员。

本地电脑:

  • Visual Studio 2010 专业版。 Hello World 项目打开并建成。 本地测试:开始调试/点击按钮/查看“Hello World!”在 VS 输出窗格中。 退出本地版本的应用。

远程电脑:

  • 安装了 Visual“Microsoft Visual C++ 2010 SP1 Redistributable”(因此可以运行此 .Net 应用程序的调试版本;在安装之前说“程序无法启动,因为缺少 MSVCR100.dll,当遇到断点时.")。

  • Visual Studio 远程调试监视器正在运行。

    • 说“(日期/时间)Msvsmon 启动了一个名为 Steve@FRESHINSTALL 的新服务器:等待新连接”。
    • 附加到进程时,显示“FreshInstall\Steve connected”。
  • 从本地 pc 的项目位置(在默认 VS 2010 项目中)\bin\debug* 复制到 C:\Code\HelloWorld*

  • 代码文件夹以完全权限共享(以防万一...)

附加到进程工作正常:

  • click button => "Hello World" -- 在本地 PC 的输出窗格中,就像在本地运行时一样。

现在,问题来了。如何远程启动 .exe,而不是附加到进程?

在调试窗格中:

  • 试过“开始项目”

  • 或者,尝试“启动外部程序:”C:\Code\HelloWorld\HelloWorld.exe”——在远程 PC 上,这是 .exe 的路径

  • 工作目录:“C:\Code\HelloWorld”

  • [复选标记] 使用远程机器:FRESHINSTALL。

  • 尝试使用和不使用“启用 Visual Studio 托管进程”。

当“开始调试”时,所有变体都说“工作目录不存在:“C:\Code\HelloWorld”。

当然不是:它在 Remote PC 上,而不是本地。

然而,无论我在哪里看,这都是指示所说的。

我应该做些什么不同的事情,或者可能有什么问题?


(显然这个简单的应用程序,我可以坚持使用附加到进程。但是我有一个更复杂的多 dll 应用程序,它在启动过程中出现问题。我需要在“真实”应用程序启动过程中对其进行断点,而不是在它已经运行之后。)

(而我必须调试的真实情况是在世界的另一端,互联网连接速度很慢。这是对那里出现问题的本地模拟。在实际远程上安装 Visual Studio 是不切实际的PC,把它变成本地调试情况。花了一天时间尝试远程调试它;在我让它在本地网络上工作后,我必须复制整个过程,而对正在发生的事情的控制要少得多。)

【问题讨论】:

  • 在这里查看我的答案stackoverflow.com/questions/11923695/… 这使您能够完全按照您的意愿执行此操作,假设您可以修改远程 PC 上运行的代码 - 您可以吗?
  • 如果您阅读该链接...您不需要使用 remcom...假设您进行了代码更改,您可以简单地重新部署您的应用程序并在远程 PC 上使用 @ 启动它987654323@ arg 然后它将挂起,直到您的调试器从本地 PC 连接
  • @wal - 谢谢,我会试一试。至少,这会让我知道启动是否到达主要方法,或者我有一些更基本的 dll 问题。把它变成“附加到进程”的方法很聪明!
  • 您是否检查了远程 PC 上的事件查看器?如果应用程序无法进入主程序,可能会有所帮助
  • @wal 谢谢。如果发生这种情况,请单独配置主题以获取更多信息。在 Hello World 上,这 5 行代码运行良好:我现在坐在 Debugger.Break();线。所以,我调试的这一步就解决了。现在我只需要使用 REAL 应用程序,并达到这一点,然后我就处于我知道如何处理的领域。再次感谢。

标签: c# visual-studio-2010 remote-debugging


【解决方案1】:

为了结束这个问题,表明它已得到解决:

查看 wal 对我的问题的第一条评论,并点击他提供的链接,我在此重复:

Visual Studio remote upload and debugging on other computer

【讨论】:

    猜你喜欢
    • 2013-06-15
    • 2014-05-09
    • 2012-04-11
    • 2011-06-22
    • 2011-08-19
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    相关资源
    最近更新 更多