如何使用不同的目录设置远程调试

Posted

技术标签:

【中文标题】如何使用不同的目录设置远程调试【英文标题】:How to setup remote debugging with a different directory 【发布时间】:2015-10-29 19:42:56 【问题描述】:

我有一个 c# Visual Studio 2013 项目。 我想使用远程调试。 在远程计算机上设置与本地计算机相同的目录(即 c:\project)时,它工作得很好,但我有一个由我的 TFS 规定的特殊目录结构,甚至位于远程不存在的另一个驱动器上机 (e:)。我想知道如何在远程机器上定义与本地机器不同的工作目录。

【问题讨论】:

在我过去的远程调试经验中,如果您成功连接到进程,目录结构是什么样的并不重要。但是,如果应用程序正在处理特定目录并在代码中使用绝对路径,那么问题实际上可能与调试器无关。 在 MSDN (msdn.microsoft.com/en-us/library/8x6by8d2.aspx) 上的这篇文章中,它特别说要使用相同的目录结构(“在 remote1 上创建一个与 local1 上的 Debug 文件夹相同的路径的文件夹:C:\Projects \MyWPF\MyWPF\bin\Debug")。这对我来说似乎很奇怪,我想知道是否有办法解决它。 阅读那篇文章。我总是通过使用“将调试器连接到进程”和已经在远程机器上设置并运行的远程调试器来完成它。那篇文章看起来像是用于设置调试器以在远程机器上部署/调试,这就是它需要相同路径的原因。 (我可能错了,因为那篇文章不是最清楚的不幸) 这会有所帮助:***.com/a/65600577/2377343 【参考方案1】:

我如何在 Visual Studio 2015 中解决这个问题(这可能仍然相关)是通过为远程调试进行另一个构建配置,将输出文件夹设置为远程计算机上的 Windows 共享。您可以使用 Windows 身份验证来保护它,并使用“hiddenShare$”表示法隐藏共享。

我在我的博客上详细介绍并在此处参考相应的 MSDN 文章:

Remote Debugging with VS2105

我也为类似问题提供了类似的答案,在这里:

Visual Studio 2013 remote debugging, auto deploy?

    打开解决方案的配置管理器 添加新配置并适当命名。选中该框可自动为所有项目执行此操作。 打开要远程调试的可执行项目的项目属性。 确保选择了远程调试配置文件。 将生成输出设置为远程调试计算机上的网络共享。 设置远程调试主机地址和端口。

【讨论】:

Visual Studio 会定期将生成输出路径重置为“正常”路径 (bin\\)。你找到解决方法了吗?我不确定在找不到远程计算机共享时是否会发生这种情况(即不在当前网络上)。【参考方案2】:

找到另一种解决方法:

创建一个小型虚拟磁盘how to。 创建一个用于复制的批次

xcopy [source] [destination] /s /e /y

在调试前执行批处理。

它应该可以工作。

【讨论】:

以上是关于如何使用不同的目录设置远程调试的主要内容,如果未能解决你的问题,请参考以下文章

如何设置Visual Studio远程调试

如何使用VS2010远程调试?

DELPHI XE8 远程调试

Idea远程调试

如何使用 phpstorm 和 Xdebug 设置远程调试

visualstudio远程调试找不到ip