【问题标题】:What is recommended for remotely debugging a .NET CLR Managed Application with a custom debugging application?对于使用自定义调试应用程序远程调试 .NET CLR 托管应用程序有什么建议?
【发布时间】:2013-01-10 17:24:05
【问题描述】:

当您安装和使用 Microsoft 远程调试工具 (vsmon.exe) 时,系统会引导您使用 Visual Studio 附加到远程调试工具以进行实际调试。

我找不到:

  • 远程调试器和 Visual Studio 之间使用的协议的任何详细信息
  • 充当远程调试器客户端的任何源代码
  • 作为第三方应用程序与远程调试器交互的任何 dll

这不可行吗? (即我上面的评估大部分/全部准确)

谁能想到一种方法来远程调试在 MS .NET CLR 上运行的托管应用程序,无需 Visual Studio,而是使用我自己的工具集(例如 C#)?

谢谢。

(注:

  1. MDBG - 是一个带有源代码的命令行工具。我相信这个工具只能用于调试本地托管进程,并不能连接到远程调试工具。
  2. (还有 Mono 调试堆栈,但我的问题与调试 .Net 相关(在 .Net 上运行托管代码,而不是 Mono))

)

【问题讨论】:

    标签: .net network-protocols remote-debugging


    【解决方案1】:

    我可以确认MDBG底层的Debugging API,不直接支持远程调试。

    CLR 调试 API 不支持远程进程调试 直接地。基于 CLR 调试 API 的调试器仍必须 存在于被调试者的进程外。因此,该解决方案 需要具有被调试对象的计算机上的代理进程。 http://msdn.microsoft.com/en-au/library/bb397953.aspx

    但请注意,代理进程在此声明中被指定为解决该缺点的可能解决方案。

    因此,远程调试可以被认为是可行的,利用调试 API(查看MDBG source code 以获取有关如何使用调试 API 的参考)公开网络 API。

    【讨论】:

    • 请注意,MDBG 的许可在特定情况下禁止商业用途——“您不得将该软件用于商业软件托管服务”
    猜你喜欢
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 2010-11-01
    • 1970-01-01
    相关资源
    最近更新 更多