是否可以通过互联网调试Windows桌面应用程序?

时间:2015-12-01 17:41:04

标签: c# remote-debugging

我经常遇到程序在我的系统(安装和开发环境)中正常运行但在用户系统上运行失败的问题。

我能想到的最好的解决方案是在用户计算机上调试程序,但这不实用,因为它需要我在他们的系统上安装VS并移动源代码(这样做会妥协无论如何,测试环境的完整性,因为它可能导致bug消失)。

我想进行远程调试,但是我从MSDN读到的内容对我说“不”,除非两个系统都在同一个网络上,否则你无法做到这一点。我的愤怒。)" :

Network configuration The remote computer and the Visual Studio computer must be connected over a network, workgroup, or homegroup, or else connected directly through an Ethernet cable. 不支持通过互联网进行调试

我可以用另一个选项连接到网络外另一个系统上运行的进程吗?

2 个答案:

答案 0 :(得分:1)

部分解决方案(针对抛出异常的情况)。

不要试图通过Internet访问客户端应用程序,而是在家中安装崩溃转储并在本地调试它:)。有关详细信息,请参阅MSDN

答案 1 :(得分:1)

您可以使用隧道应用程序(如hamachi)。这样您就可以在同一个网络上连接像您这样的其他方。然后,您可以使用远程调试选项。但即使在本地网络中,远程调试工作也很慢,有时会因代码优化的构建而失败。在使用"远程调试器"之前(假设有任何例外)我建议log all exceptions to a log file然后观察系统。将.pdb文件放到远程系统以查看代码之间的关系会很有帮助。