visual studio 2013 远程调试监视器找不到指定的文件

Posted

技术标签:

【中文标题】visual studio 2013 远程调试监视器找不到指定的文件【英文标题】:visual studio 2013 remote debugging monitor cannot find the file specified 【发布时间】:2014-08-27 03:28:07 【问题描述】:

我的 Win7 x64 桌面上有 VS2013 Universal Update2,我正在尝试调试需要在服务器上运行的进程,因此在我的 Windows 2008 R2 x64 服务器上安装了 Visual Studio 2013 远程调试监视器(x64 Update2 版本)。然后修改本地 VS2013 项目以使用远程调试,指定远程机器名称和 C:\RemoteDebug 工作目录文件夹。令我惊讶的是,本地机器上实际上需要工作目录文件夹,否则我收到投诉它丢失了,现在,我收到错误

"Error while trying to run the project: Unable to start the program '<MyLocalTfsPath>\<MyProgram>.exe'. The system cannot find the file specified."

我的本​​地可执行文件位于上述路径中。远程监视器启动并告诉我我连接了每次调试尝试,所以这不是连接问题。在我看来,本地与远程文件夹位置与我对这个新更新的期望(场景 1)相反。我知道旧的远程调试(场景 2)使用“启动外部程序”链接到本地​​机器上的文件,但似乎 VS2013 Update 2 增强了这个和这个文档

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

暗示它将在远程机器上发布文件并像往常一样执行“启动项目”。目前我无法测试方案 2,因为我使用 Open*** 进行连接,并且我的服务器没有直接看到我的本地桌面。所以我希望让场景 1 在 VS2013 进行某种发布的情况下工作。使用 VS2013 Update 2,哪些文件和文件夹放在哪里,我还是 VS2013 把它们放在那里?我是否了解 VS2013 Update 2 在远程调试方面提供的功能?

【问题讨论】:

【参考方案1】:

我遇到了同样的错误,但情况略有不同。我的开发机器(假设它的名称为 DEVMACHINE 正在运行 VS2012,并且我正在尝试在 Surface Pro 2 上调试应用程序(假设它的名称为 REMOTEMACHINENAME。我会给你一个快速完成我遵循的步骤:

    在 Surface 上安装“Remote Tools for Visual Studio 2012 Update 4” 安装后,从开始菜单运行“远程调试器”。在第一次运行时,它给了我一个配置防火墙等的对话框。有关详细信息,请参阅here 现在远程调试器应该启动并且您应该在其中看到一条类似于"Vsvsmon started a new server named 'REMOTEMACHINENAME:4016'. Waiting for new connections." 的消息 在您的开发机器上,打开 VS2012。右键单击您的项目并选择Properties 在属性窗口中,选择Debug 选项卡。勾选Use remote machine并在旁边的字段中输入远程机器的名称(在我的例子中是REMOTEMACHINENAME) 现在转到Build 选项卡并将Output path 更改为您的开发机器的网络路径。就我而言,它类似于\\DEVMACHINE\c$\projects\myapp\project\bin\x86\Debug\ 保存属性 现在开始调试

当我遇到和你一样的错误时,我没有进入第 6 步,所以当我尝试远程调试时,它一定是在远程机器上寻找 C:\ 路径。有了我的开发机器的网络路径,它运行良好。

另一个快速说明是,我有时会在尝试调试时遇到问题,其中 VS2012 会向我的 exe 的调试路径抛出拒绝访问错误。那是因为即使我关闭了远程计算机上的应用程序并停止在 VS2012 中调试,远程计算机上的进程也未能停止。这只是另一件事可能会咬你。

【讨论】:

基本上,这是它一直以来的工作方式。新的 VS2013 文档让我希望 VS 会发布到调试器,这样所有路径都可以保持在本地。哎呀,它坚持工作目录是本地的...... 抱歉,戴夫,我误解了你想要达到的目的。不幸的是,我没有安装 VS2013 来看看它是如何工作的。从你所说的听起来你正在使用路由***。您是否可以将其配置为桥接 ***,以便服务器可以看到您的客户端计算机? 我让数据中心网络人员尝试像这样设置 ***。同时,我正在服务器上建立一个共享,但不想一直这样做,所以它是一个来回配置的皮塔。我宁愿只检查远程调试框,而不要管其他设置。当我在上面的链接中将 VS2013 与 VS2010 文档进行比较时,至少这就是新文档所暗示的。 我注意到您发布了有关 Microsoft Connect 的问题,因此希望那里的人能回复您,您可以在此处发布更新。祝你好运。 @Dave,虽然很可能不再相关 - 我遇到了类似的问题。如果您在配置管理器中创建新的构建配置文件,则可以保留本地路径。在 IDE 顶部的工具栏上,只需将配置文件从“调试”更改为“远程调试”,或者任何你称之为的。 VS2015 Remote Debugging

以上是关于visual studio 2013 远程调试监视器找不到指定的文件的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2015 远程调试器没有调试器成员或监视表达式返回值

关于 MSVSMON.EXE 的 Visual Studio 调试错误似乎没有运行

Visual Studio 2013 远程调试,自动部署?

远程调试windows 8.1驱动Visual Studio 2013

Windows XP 中的 Visual Studio 2013 远程调试过程

Visual Studio (VS2008) 中的远程调试,Windows 窗体应用程序