在macOS下使用VS code進(jìn)行C++調(diào)試時(shí)鳍徽,碰到vector乾吻、set、map等類的內(nèi)容無法正常顯示褒脯,只顯示為size == 0
。
在VS code的Github issues有許多討論缆毁,大體提出了兩種解決方案番川。
方案一
安裝CodeLLDB插件,使用簡單脊框,只需將launch.json
的type
設(shè)置為lldb
即可(原生類型一般為cppdbg
或cppvsdbg
)颁督。為了標(biāo)準(zhǔn)輸入與輸出,另外還需要添加terminal
字段浇雹。
{
"name": "(lldb) CodeLLDB plugin",
"type": "lldb", // 使用CodeLLDB插件進(jìn)行Debug
"request": "launch",
"preLaunchTask": "clang++ compile",
"environment": [],
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/build/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"MIMode": "lldb",
"terminal": "integrated" // CodeLLDB插件調(diào)出Terminal重定向標(biāo)準(zhǔn)輸入
},
方案二
使用lldb-mi
沉御,在launch.json
的miDebuggerPath
字段指定路徑/path/to/lldb-mi
。
{
...
...
"MIMode": "lldb",
"miDebuggerPath": "/path/to/lldb-mi"
...
...
},
但遺憾的是Xcode 11貌似移除了lldb-mi
昭灵,只能向前使用Xcode 10吠裆,lldb-mi
位于/Applications/Xcode.app/Contents/Developer/usr/bin/lldb-mi
。
當(dāng)然也可以通過brew安裝llvm
的方式烂完,獲取lldb-mi
brew install llvm
但在我的MBP環(huán)境中使用brew安裝的lldb-mi有BUG试疙,不能使用,暫未解決抠蚣,有空再倒騰祝旷。