建议使用自定义调试应用程序远程调试.NET CLR托管应用程序?

时间:2013-01-27 02:53:45

标签: .net network-protocols remote-debugging

当您安装并使用Microsoft远程调试工具(vsmon.exe)时,系统会指示您使用Visual Studio连接到远程调试工具以进行实际调试。

我找不到:

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

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

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

感谢。

(注意:

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

1 个答案:

答案 0 :(得分:0)

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

  

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

请注意,在此声明中提名代理进程作为该缺点的可能解决方案。

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