首页 > 解决方案 > 如何在 Visual Studio Code 调试器中输出“停止”事件

问题描述

我正在用 VS 代码为自定义语言编写自己的调试器。一切正常,当我单击“跳过”时,我的程序正在正确调试,但我在编辑器中看不到任何内容。我认为问题是“stoppedOnStep”事件,我在这里按照教程进行操作:https ://code.visualstudio.com/api/extension-guides/debugger-extension但无法在“停止”事件。

这是代码示例中的事件:this.sendEvent(new StoppedEvent('step', MockDebugSession.THREAD_ID));如您所见,没有关于行号文件名的信息,所以我不知道调试器的那部分是如何工作的。调试器客户端如何知道程序在哪一行停止?是否有一些getLine()从运行时读取行号的秘密方法?

标签: debuggingvisual-studio-codevscode-extensionsvscode-debugger

解决方案


原来答案在堆栈跟踪中。在stopOnStep事件(或任何其他事件)之后,编辑器向调试器发送堆栈跟踪请求,最后一个条目是执行的当前行。


推荐阅读