解释器的自定义调试引擎
Custom Debug Engine for Interpreter
任何人都可以向我提供一些有关如何为 Visual Studio 尤其是解释器编写自定义调试引擎的详细信息吗?
我有一个描述工作流的自定义 xml 文档,我有一个运行器(解释器)用于在运行时解释和执行 xml 文件的每个元素 (C#)。
现在我想创建一个自定义调试引擎,它能够跨过那些 xml 元素。
我找到了一些关于如何编写此类调试引擎的基本示例,但我有一个大问题:
运行时(调试对象)如何与调试引擎通信?
例如,调试引擎发送 "Step over" 命令。但是我需要什么才能在我的应用程序中接收此事件?我怎么知道什么时候执行下一步?
我确定我还需要在操作完成时告诉调试引擎,但是如何?
你们有没有人做过类似的事情,可以提供一些样品给我吗?
您可以对硬模式与软模式调试进行更多研究:
https://blogs.msdn.microsoft.com/jmstall/2005/02/09/hardmode-vs-softmode/
我相信您必须实施软模式调试器才能使其正常工作。这意味着在您的解释器中有一个线程(或多个线程)运行,您可以通过调试引擎与之通信。
这是另一个 link,描述了如何为 Visual Studio
编写调试引擎
https://code.msdn.microsoft.com/windowsdesktop/Visual-Studio-Debug-Engine-c2e21c0e
虽然这个例子是一个硬模式调试器。据我所知,没有用于 VS 的软模式示例。
任何人都可以向我提供一些有关如何为 Visual Studio 尤其是解释器编写自定义调试引擎的详细信息吗?
我有一个描述工作流的自定义 xml 文档,我有一个运行器(解释器)用于在运行时解释和执行 xml 文件的每个元素 (C#)。
现在我想创建一个自定义调试引擎,它能够跨过那些 xml 元素。
我找到了一些关于如何编写此类调试引擎的基本示例,但我有一个大问题:
运行时(调试对象)如何与调试引擎通信? 例如,调试引擎发送 "Step over" 命令。但是我需要什么才能在我的应用程序中接收此事件?我怎么知道什么时候执行下一步? 我确定我还需要在操作完成时告诉调试引擎,但是如何?
你们有没有人做过类似的事情,可以提供一些样品给我吗?
您可以对硬模式与软模式调试进行更多研究:
https://blogs.msdn.microsoft.com/jmstall/2005/02/09/hardmode-vs-softmode/
我相信您必须实施软模式调试器才能使其正常工作。这意味着在您的解释器中有一个线程(或多个线程)运行,您可以通过调试引擎与之通信。
这是另一个 link,描述了如何为 Visual Studio
编写调试引擎https://code.msdn.microsoft.com/windowsdesktop/Visual-Studio-Debug-Engine-c2e21c0e
虽然这个例子是一个硬模式调试器。据我所知,没有用于 VS 的软模式示例。