Visual studio 2010远程调试:启动外部程序:目录不存在
本文关键字:外部 启动 程序 不存在 调试 2010 studio 程调试 Visual | 更新日期: 2023-09-27 18:04:34
如果我执行"Attach To Process",一切都正常。
但是我需要在启动应用程序期间调试一个问题,所以我需要能够在远程exe中"启动项目"或"启动外部程序"。
当我这样做时,我得到"directory does not exist"。(假定,它要么在本地查找这个不存在的目录,要么缺少权限。)
细节:* .Net Framework 3.5;c# Windows窗体,带有按钮,当点击
时Debug.WriteLine("Hello World!");
- 两台Windows 7 Ultimate pc,用户名和密码相同,管理员。
本地PC:
- Visual Studio 2010 ProfessionalHello World项目打开并构建。在本地测试:开始调试/点击按钮/在VS输出窗格中看到"Hello World!"退出本地版本的app。
安装了Visual"Microsoft Visual c++ 2010 SP1 Redistributable"(这样可以运行这个。net应用程序的调试版本);
安装前提示"程序无法启动,因为MSVCR100.dll丢失,遇到断点")。Visual Studio Remote Debugging Monitor running.
- 显示"(日期/时间)Msvsmon启动了名为Steve@FRESHINSTALL的新服务器:等待新的连接"。
- 当连接到进程时,显示"FreshInstall'Steve connected"
从本地pc的项目位置(默认VS 2010项目),'bin'debug*复制到C:'Code'HelloWorld*
代码文件夹以完全权限共享(以防万一…)
Attach to Process works fine:
- 点击按钮=>"Hello World"-在本地PC的输出窗格,就像在本地运行一样。
现在,问题是。如何远程启动。exe,而不是附加到进程?
在Debug窗格中:
尝试"Start project"
或者,尝试"启动外部程序:" C:'Code'HelloWorld'HelloWorld.exe"——在远程PC上,这是。exe
的路径工作目录:"C:'Code'HelloWorld" <—此目录仅存在于远程PC(故意-确保我们不在本地执行)
[checkmark]使用远程机器:FRESHINSTALL.
尝试使用和不使用"Enable Visual Studio hosting process"
当执行"Start Debugging"时,所有的变量都显示"工作目录不存在:"C:'Code'HelloWorld".
嗯,当然不是:它是在远程PC上,而不是在本地。
然而,我看到的每一个地方都是这样做的。
我应该做什么不同的,或者什么可能是错的?
(显然这个简单的应用程序,我可以坚持附加到进程。但我有一个更复杂的多dll应用程序,这是在启动过程中出现问题。我需要在"真正的"应用程序启动时设置断点,而不是在它已经运行之后。
(我要调试的真实情况是在世界的另一边,网络连接很慢。这是对问题所在的局部模拟。在实际的远程PC上安装visual studio是不实际的,要把它变成本地调试的情况。我花了一天时间远程调试;当我让它在本地网络上工作后,我必须复制整个过程,对正在发生的事情的控制要少得多。
为了结束这个问题,表明它已经被解决了:
查看沃尔对我的问题的第一条评论,并点击他给出的链接,我在这里重复一下:
在其他计算机上远程上传和调试Visual Studio