VsCode C++配置Natvis可视化调试

436 阅读1分钟

配置可视化调试

使用GlobalVisualizersDirectory

Windows下

C:\Users\YourName\.vscode\extensions\ms-vscode.cpptools-1.18.5-win32-x64\debugAdapters\vsdbg\bin\Visualizers\

Linux下

~\.vscode\extensions\ms-vscode.cpptools-1.18.5-win32-x64\debugAdapters\vsdbg\bin\Visualizers\

打开目录可以发现,里面已经存在了一些natvis文件

natvis 借用EveryThing等工具,搜索qt5.natvisqt6.natvisSTL.natvis等文件,复制到这个文件夹内

visualizerFile

配置visualizerFile参数,natvis文件只能指定一个

{
    "cmake.debugConfig": {
        "visualizerFile": "${workspaceFolder}/qt5.natvis"
    }
}

这个参数本来属于launch.json,因为我使用的是cmake插件,所以配置的是cmake

lanuch.json应该参考下面的代码,其实是一样的,而且还可以多配置一个showDisplayString

{
  "name": "C++ Launch (Windows)",
  "type": "cppvsdbg",
  "request": "launch",
  "program": "C:\\app1\\Debug\\app1.exe",
  "symbolSearchPath": "C:\\Symbols;C:\\SymbolDir2",
  "externalConsole": true,
  "logging": {
    "moduleLoad": false,
    "trace": true
  },
  "visualizerFile": "${workspaceFolder}/my.natvis",
  "showDisplayString": true
}

效果展示

可以看到QString这样的类型已经正确显示

Snipaste_2023-11-30_17-19-03.png