我花了最近几天搜索谷歌,博客和MSDN寻找关于如何"互操作"的任何一小部分信息。或"混合模式"调试是在Visual Studio中实现的。
我试图为自定义VM实现我自己的调试器(实际上,它被JIT编辑为本机代码,这意味着每当它进入&#时,我必须为普通的本机调试器重建callstacks 39;是JIT编码),但是我找不到任何关于如何与VS的原生调试器进行实际交互的信息,并且可以做出奇特的本机/托管"就像VS的混合模式调试拉开的过渡一样。
到目前为止,我发现了一些提供有用花絮的东西,但还不足以实际与调试器交互。我发现的最好,最有用的文章是:
如何开始编写与VS的本机调试器协同工作的调试器?
谢谢!
答案 0 :(得分:2)
我担心这个主题的文档不多。你提到的资源在这一点上都很老了。我的建议是与Visual Studio的新调试引擎(Concord)集成。 Concord用作调试引擎,用于从Visual Studio 2012向前进行本机调试,以及用于Visual Studio 2013中的所有调试。 Concord的设计目标之一是简化混合模式调试。它的设计也很容易扩展。
我创建了一些可能有帮助的Concord extensibility documentation。它主要关注表达式评估器,但它有一些很好的信息可以用于Concord。另一种可能有用的资源是source code for the Concord-based debugger in Python Tools for Visual Studio。这是一个混合模式调试器的完整实现,它与Concord集成,允许使用Python进行混合模式调试。