是否可以通过 Internet 调试 Windows 桌面应用程序?
Posted
技术标签:
【中文标题】是否可以通过 Internet 调试 Windows 桌面应用程序?【英文标题】:Is it possible to debug a Windows Desktop Application over the internet? 【发布时间】:2016-03-05 17:48:34 【问题描述】:我经常遇到程序在我的系统(已安装和在开发环境中)上运行良好但在用户系统上失败的问题。
我能想到的最佳解决方案是在用户计算机上调试程序,但这不切实际,因为这需要我在他们的系统上安装 VS 并移动源代码(这样做会损害程序的完整性无论如何测试环境,因为它可能会导致错误消失)。
我想远程调试,但我从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.
不支持通过 Internet 调试。
我是否可以使用其他选项来连接在我的网络之外的另一个系统上运行的进程?
【问题讨论】:
在服务器上使用大量日志。您是否有理由无法在本地环境中重现该问题? 大多数公司通过登录到文本文件然后通过某种方式远程获取日志文件来解决此问题。 您的应用程序如何在那里失败?有错误信息吗? @user1666620 小精灵。我不知道为什么它在他们的系统上失败并在我的系统上工作(我不对这个恶魔的概念负责;我只是继承它的不幸个体)。 @SethKitchen 是的,我们正在尝试……不幸的是,它运行得不是很好。另外,请参阅上面的评论,其中我描述的问题是我违背自己的意愿继承了这个被遗弃的软件...... 【参考方案1】:部分解决方案(针对引发异常的情况)。
与其尝试通过 Internet 访问客户端应用程序,不如在家中舒适地生成故障转储并在本地调试它:)。详情请见MSDN。
【讨论】:
【参考方案2】:您可以使用隧道应用程序(如 hamachi)。这将允许您像在同一网络上一样连接另一方。然后您可以使用远程调试选项。但即使在本地网络中,远程调试也很慢,有时会因代码优化构建而失败。在使用“远程调试器”之前(假设有任何异常)我建议log all exceptions to a log file 然后观察系统。将 .pdb 文件放到远程系统以查看代码之间的关系会很有帮助。
【讨论】:
以上是关于是否可以通过 Internet 调试 Windows 桌面应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
Internet Explorer 11 中的 window.postMessage 是不是有最大长度限制?