Visual Studio 2013远程调试监视器无法找到指定的文件。

7
我在我的Win7 x64桌面电脑上安装了VS2013 Universal Update2,并尝试调试需要在服务器上运行的进程,因此在我的Windows 2008 R2 x64服务器上安装了Visual Studio 2013远程调试监视器(x64 Update2版本)。然后修改本地VS2013项目以使用远程调试,指定远程计算机名称和C:\RemoteDebug工作目录文件夹。令我惊讶的是,工作目录文件夹实际上是在本地计算机上需要的,否则会收到缺少该文件夹的投诉,现在,我收到错误消息:“尝试运行项目时出错:无法启动程序'<MyLocalTfsPath>\<MyProgram>.exe'。系统找不到指定的文件。”,而我的本地可执行文件位于所提到的路径中。远程监视器已启动,并告诉我每次调试尝试都已连接,因此这不是连接问题。对我来说,本地与远程文件夹位置似乎与我在此新更新(方案1)中预期的相反。我知道旧的远程调试(方案2)使用“启动外部程序”,它链接到本地机器上的文件,但似乎VS2013 Update 2增强了此功能,而这篇文档...

http://msdn.microsoft.com/en-us/library/8x6by8d2.aspx#BKMK_Set_up_a_Visual_C__Visual_Basic_project

这意味着它将在远程计算机上发布文件,并像通常一样执行“启动项目”。由于我正在使用OpenVPN连接,我的服务器无法直接看到我的本地桌面,因此目前无法测试方案2。所以我希望能够使方案1正常工作,让VS2013进行某种形式的发布。使用VS2013 Update 2时,哪些文件和文件夹放在哪里?是我还是VS2013把它们放在那里?我是否正确理解了VS2013 Update 2在远程调试方面提供的功能?

1个回答

9
我遇到了和你一样的错误,但情况略有不同。我的开发机器(假设其名为DEVMACHINE)运行着VS2012,我试图在Surface Pro 2上调试应用程序(假设其名为REMOTEMACHINENAME)。下面是我遵循的步骤:
  1. 在 Surface 上安装 "Remote Tools for Visual Studio 2012 Update 4"
  2. 安装完成后,在开始菜单中运行 "Remote Debugger"。在第一次运行时,会弹出一个对话框,配置防火墙等。详情请参见此处
  3. 现在远程调试器应该已经启动,您应该能看到一条消息,大致如下:"Vsvsmon started a new server named 'REMOTEMACHINENAME:4016'. Waiting for new connections."
  4. 在您的开发机器上,打开VS2012。右键单击您的项目,然后选择 属性
  5. 在属性窗口中,选择调试选项卡。选中使用远程计算机并在其旁边的字段中输入远程机器的名称(在我的情况下是REMOTEMACHINENAME
  6. 现在转到生成选项卡,并将输出路径更改为开发机的网络路径。在我的情况下,它是类似于 \\DEVMACHINE\c$\projects\myapp\project\bin\x86\Debug\ 的东西。
  7. 保存属性
  8. 现在开始调试
当我遇到与您相同的错误时,我没有执行第 6 步,因此在尝试远程调试时,它必须一直在远程计算机上寻找 C:\ 路径。当我把开发机器的网络路径放进去后,就正常工作了。
另外一个需要注意的地方是,有时候我尝试调试时会遇到问题,VS2012 会抛出访问被拒绝的错误,指向我的可执行文件的调试路径。这是因为远程机器上的进程未能停止,即使我已经关闭了远程机器上的应用程序并停止了 VS2012 中的调试。这也可能会给您带来麻烦。

基本上,这就是它一直以来的工作方式。新的VS2013文档让我对VS能够发布到调试器抱有希望,以便所有路径都可以保持本地化。它坚持认为工作目录是本地的... - Dave
1
抱歉,戴夫,我误解了你想要实现的目标。不幸的是,我没有安装VS2013来查看它的工作原理。从你所说的来看,似乎你正在使用路由VPN。你能否将其配置为桥接VPN,以便服务器可以看到你的客户端机器? - Barrie
我让数据中心网络专员尝试设置VPN。同时,我正在构建服务器上的共享文件夹,但不想一直这样做,因此来回配置很麻烦。我宁愿只勾选远程调试框,并保持其他设置不变。至少,当我将VS2013与上面链接中的VS2010文档进行比较时,新文档似乎可以这样做。 - Dave
我注意到你在Microsoft Connect上发布了一个问题,希望那里的某个人会回复你,然后你可以在这里发布更新。祝你好运。 - Barrie
@Dave,虽然可能已经不再相关 - 我也遇到了类似的问题。如果您在配置管理器中创建一个新的构建配置文件,就可以保留本地路径。只需在IDE顶部的工具栏上将配置文件从Debug更改为Remote Debug,或者您称之为其他名称即可。VS2015远程调试 - Élie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接