launch.json
文件中的各种变量设置含义,见此文:VS Code 配置调试参数
添加launch.json
点击左侧栏中的debug
图标,长这个样子。点击create a launch.json file.
进入这样的界面👇
修改launch.json
点击右下角的Add Configuration…
选择{} C/C++: (gdb) Launch
,会自动冒出来一大堆东西。这里面有些东西需要进行修改。
"program"
:要求执行程序的名称,可以填入"${fileDirname}/${fileBasenameNoExtension}"
,意思是当前打开的文件****
"args"
:表示在program
后带着的参数
然后就已经可以开始设置断点进行调试了
tasks.json
文件
你会发现一个问题,launch.json
文件中只要求填入program
也就是程序的文件,也就是说并没有make
的环节
所以实际用的时候你会发现,你需要改一下,然后make file
,然后再debug
,再改,再make file
……
所以,有另外一个东西,解决提出的这个问题,那就是tasks.json
下面添加一个tasks.json
文件
Terminal -> Configure Default Build Task…
选一个心仪的compiler
就得到了一个tasks.json
,并且里面已经填好了默认的东西,几乎不需要进行修改。
然后将这个task
与之前的launch
关联起来
在launch.json
中"name"
同级下添加"preLaunchTask": "C/C++: gcc build active file"
顾名思义,会在执行这个launch.json
之前,先执行preLaunchTask
里的任务。
注意!"preLaunchTask"
的值应该与你要运行的task
的"label"
同名。我这里用的是默认名称"C/C++:gcc build active file"
然后就可以开始debug
了
build and debug
脚本
顾名思义就是点一下就可以完成make
加上debug
。
而且也可以一步创建两个文件,不用一个一个创建。
打开一个能run
的文件,点击右上角的小齿轮,然后选择gcc-13 build and debug active file
就能自动生成launch.json
文件和task.json
文件,然后进去修改这两个文件。
launch.json
的修改和之前说的是一样的。与之前不同的是,内容上多了几行。
"preLaunchTask": "C/C++: gcc build active file",
"miDebuggerPath": "/usr/bin/gdb"
"miDebuggerPath"
是debugger
的路径,如果没有设置,则会则会自动寻找PATH
中的可用debugger
。
你可以设置为自己的gdb
所在的路径。如果在PATH
里有,加不加是一样的。
然后就可以开始debug
了