0

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

我找不到:

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

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

任何人都可以想出一种方法来远程调试在 MS .NET CLR 上运行的托管应用程序,而不需要 Visual Studio,而是我自己的工具集(比如在 C# 中)?

谢谢。

(笔记:

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

)

4

1 回答 1

0

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

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

但是请注意,在本声明中指定了一个代理进程作为该缺点的可能解决方案。

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

于 2013-01-27T03:04:30.400 回答