Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 如何获取VS代码调试数据,如断点、步骤、行代码_Typescript_Debugging_Visual Studio Code_Vscode Extensions - Fatal编程技术网

Typescript 如何获取VS代码调试数据,如断点、步骤、行代码

Typescript 如何获取VS代码调试数据,如断点、步骤、行代码,typescript,debugging,visual-studio-code,vscode-extensions,Typescript,Debugging,Visual Studio Code,Vscode Extensions,我正在从事一个学术软件可视化项目,该项目旨在捕获调试会话并以图形方式显示。 为此,我尝试创建一个VisualStudio代码扩展,从中可以获取与当前语言调试器交换的数据,例如添加的断点、stepsinto、stepsover、调试会话开始、调试文件、上下文变量、调试的行代码。也就是说,VS代码窗口中显示的数据相同:变量、监视、调用堆栈、加载的脚本和断点 我试图创建一个扩展,使用调试适配器(DAP-Debug适配器协议)添加一个新的调试器提供程序。但是,这将取消当前提供程序,并且不允许调试。 我

我正在从事一个学术软件可视化项目,该项目旨在捕获调试会话并以图形方式显示。 为此,我尝试创建一个VisualStudio代码扩展,从中可以获取与当前语言调试器交换的数据,例如添加的断点、stepsinto、stepsover、调试会话开始、调试文件、上下文变量、调试的行代码。也就是说,VS代码窗口中显示的数据相同:变量、监视、调用堆栈、加载的脚本和断点

我试图创建一个扩展,使用调试适配器(DAP-Debug适配器协议)添加一个新的调试器提供程序。但是,这将取消当前提供程序,并且不允许调试。

我还尝试使用VS代码API事件。 通过这些事件,我成功地控制了会话的开始和一些断点数据,尽管这些数据不完整。

是否有人知道如何在VS代码范围(VS代码通用调试器UI)中捕获此调试数据,也就是说,无论使用何种语言?
VS Code的GitHub中是否存在此问题?

此问题的解决方案称为DebugAdapterTracker

vscode.debug.registerDebugAdapterTrackerFactory('*', {
  createDebugAdapterTracker(session: DebugSession) {
    return {
      onWillReceiveMessage: m => console.log(`> ${JSON.stringify(m, undefined, 2)}`),
      onDidSendMessage: m => console.log(`< ${JSON.stringify(m, undefined, 2)}`)
    };
  }
});
vscode.debug.registerDebugAdapterTrackerFactory('*',”{
CreateDebuggerAdapterTracker(会话:DebugSession){
返回{
onWillReceiveMessage:m=>console.log(`>${JSON.stringify(m,未定义,2)}`),
onDidSendMessage:m=>console.log(`<${JSON.stringify(m,未定义,2)}`)
};
}
});


查找“最终调试适配器跟踪器API”。它最初是为实时共享调试而创建的。

我怀疑这是否可能。我自己编写了一个调试适配器,我相信vscode和适配器之间的通信仅限于这两个组件,不能被任何其他代码部分截获或读取。您能详细说明一下如何可视化数据吗?