我想为Visual Studio Code(VSCode)编写一个扩展,它允许我使用Visual Studio的本机C调试器而不是gdb(目前是VSCode支持的唯一选项)来调试C程序 . 我看着Visual Studio Debugger Extensibility . 但它只解释了如何创建一个新的调试引擎并将其作为前端从Visual Studio中调用 . 我想做的是相反的 . 我想从不同的前端调用现有的Visual Studio C调试引擎,这恰好是VSCode . 互联网上没有文档如何实现这一目标 . 有人可以帮忙吗?
1 回答
我是VSCode团队的成员 . 要从VSCode使用VS调试器,您需要编写调试适配器扩展 . Here's some documentation on getting started和here's the complete debug adapter protocol reference .
尝试查看一些现有的实现来开始:
Mock debugger - 简单的示例调试器
Node debugger - node.js调试适配器
对于C,也请查看C++ tools for VSCode .
希望有所帮助 .
Edit - 似乎我误解了这个问题 . 以下是从外部应用程序中使用VS C调试器的一些想法 .
据我所知,Visual C没有公共api或接口,允许外部程序轻松与它们接口 . 其他语言有更好的故事,因为它们通常利用外部库或设计有记录的调试器协议 . GDB machine interface就是这种设计的一个很好的例子
我最好的建议是你可以尝试利用[Visual Studio Env.DTE接口](https://msdn.microsoft.com/en-us/library/envdte.debugger.aspx)以编程方式控制VS. EnvDTE没有很好的文档,可能不是你想要的,但它非常强大 .