我希望在C#中构建一个小型调试器,允许我附加到另一个c#项目并进行调试 我相信微软有一个允许我这样做的DLL。
例如,如果我知道目标进程中的代码,那么我可以查找某些类并查询它们等,并查看它们的成员变量等。
这个Microsoft dll叫做什么?
答案 0 :(得分:1)
它被称为debugger engine,位于dbgeng.dll
。但是,这不是托管DLL。
对于.NET,还有MDbg,但它没有那么多功能。
另请注意:您可以获取有关对象和成员变量的信息,但如果代码已经优化,则可能无法在发布模式下获取堆栈上的局部变量。
如果你想做类似的事情,例如要熟悉这些可能性,您可以尝试Microsoft的调试器windbg和.NET扩展sos。
开始使用WinDbg和SOS的第一个命令:
.loadby sos clr
!dumpheap -stat