Mac下C/C++在vscode debug 配置(踩坑)
使用 Mac,开始写算法题,在 mac 上找不到什么比较好的 debug 工具, lldb 虽然可以直接 debug,但是还是没有 vscode 香。
本来开始按照官方教程 来做,但是使用无法从外界读取到输入,如果在程序里指定好值可以 debug,但是无法从控制台或者是文件输入读取到值。
这是 Mac Catalina 下好像才会出现的问题,在其他平台好像没出现。
搜了很多资料,最后在这个 issue 下发现了遇到相同问题的人,最终解决,问题的关键就在于使用 CodeLLDB 插件代替 vscode 自带的 lldb插件。
这里只记录解决问题的关键, c/c++ 的debug看官方教程。
-
下载 CodeLLDB 插件并且启用
-
设定好
launch.json
和task.json
来进行构建和debug启动。
配置如下,可以直接用:
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Build with Clang",//这个任务的名字在launch.json最后一项配置
"type": "shell",
"command": "clang++",
"args": [
"-std=c++17",
"-stdlib=libc++",
"${fileBasenameNoExtension}.cpp",
"-o",
"a.out",
"--debug"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/a.out",
"args": [],
"cwd": "${workspaceFolder}",
"preLaunchTask": "Build with Clang"
}
]
}
对于编译后的名称这些东西自己都可以改。
然后我们来看看从控制台读取输入:
改成文件输入也是没有问题的。