MacOS Vscode调试C/C++文件
机器机型:
- M1 Pro 2021 14英寸
1、环境配置
- gcc
- gdb
- g++
上述环境MacOS自带的有,只需要配置进环境变量即可,目录
/usr/bin/gcc
2、Vscode 工作区
launch.json文件
{
"version": "0.2.0",
"configurations": [
{
"name": "C: Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/bin/app.out",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "lldb",
"preLaunchTask": "build",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
重点说明:
"program": "${workspaceFolder}/bin/app.out"=> 可执行文件位置:当前目录下/bin/app.out,app.out可以客制化命名,后缀最好是.out 或者是 .o
tasks.json文件
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "gcc -Wall -g -o bin/app.out $(find ./test_work_space2/ -name '*.c')",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
重点说明
"gcc -Wall -g -o bin/app.out $(find ./test_work_space2/ -name '*.c')"=> 要编译的C文件,每次执行前需要先确定好要调试的文件位置,修改./test_work_space2/
注意:按照上述的配置需要工作区有bin目录存在,如果需要让编译器自动创建bin目录,可以加上mkdir -p参数,mkdir -p bin这个命令会首先检查bin目录是否存在。如果存在,它会跳过创建,否则会创建bin目录。然后,它将执行你的编译命令并将输出保存到bin/app.out文件中。
mkdir -p bin && gcc -Wall -g -o bin/app.out $(find ./test_work_space/ -name '*.c')
=> 修改后的tasks.json中的command命令
"command": "mkdir -p bin && gcc -Wall -g -o bin/app.out $(find ./test_work_space2/ -name '*.c')"
TIPS:可以根据自己的需要客制化命令,上述配置支持多文件编译
3、调试
在需要调试的地方打断点,按下F5启动调试即可