C# 是否可以通过internet调试Windows桌面应用程序?

C# 是否可以通过internet调试Windows桌面应用程序?,c#,remote-debugging,C#,Remote Debugging,我经常遇到这样的问题:一个程序在我的系统上运行良好(已安装和在开发环境中),但在用户系统上失败 我能想到的最好的解决方案是在用户计算机上调试程序,但这并不实际,因为这需要我在他们的系统上安装VS并将源代码移到另一个位置(这样做会损害测试环境的完整性,因为它可能会导致bug消失) 我想进行远程调试,但我从中读到的内容对我说:“不,除非两个系统都在同一个网络上(all.my.rage.),否则不能进行远程调试”: 网络配置 远程计算机和Visual Studio计算机必须通过网络、工作组或家庭组连接

我经常遇到这样的问题:一个程序在我的系统上运行良好(已安装和在开发环境中),但在用户系统上失败

我能想到的最好的解决方案是在用户计算机上调试程序,但这并不实际,因为这需要我在他们的系统上安装VS并将源代码移到另一个位置(这样做会损害测试环境的完整性,因为它可能会导致bug消失)

我想进行远程调试,但我从中读到的内容对我说:“不,除非两个系统都在同一个网络上(all.my.rage.),否则不能进行远程调试”:

网络配置
远程计算机和Visual Studio计算机必须通过网络、工作组或家庭组连接,或者直接通过以太网电缆连接。
不支持通过Internet进行调试。

是否有其他选项可用于连接在网络之外的其他系统上运行的进程?

部分解决方案(针对引发异常的情况)


不要试图通过互联网访问客户端应用程序,而是在家中舒适地生成崩溃转储并在本地进行调试:)。有关详细信息,请参阅。

您可以使用隧道应用程序(如hamachi)。这将允许您像在同一网络上一样连接另一方。然后可以使用远程调试选项。但是,即使在本地网络中,远程调试工作也很慢,有时在代码优化的构建中也会失败。在使用“远程调试器”(假设存在任何异常)之前,我建议观察系统。将.pdb文件放入远程系统以查看代码之间的关系将很有帮助。

在服务器上使用大量日志记录。您无法在本地环境中重现此问题是有原因的吗?大多数公司通过登录到文本文件,然后通过某种方式远程获取日志文件来解决此问题。您的应用程序如何在那里失败?有错误消息吗?@user1666620小精灵。我不知道为什么它在他们的系统上失败,在我的系统上起作用(我对这个恶魔的概念不负责任;我只是继承它的那个不幸的人)。@SethKitchen是的,我们正在尝试。。。不幸的是,它工作得不太好。另外,请看上面的评论,我在其中描述的问题是,我违背自己的意愿继承了这个被上帝遗弃的软件。。。