gdb大型工程项目调试(工程中包含多个.cpp文件)
目录
第一步:添加选项参数-g,生成带有编译信息的可执行文件
第二步:
第三步:配置launch.json文件,进行调试
第四步:多个源文件设置断点
gdb调试单个.cpp文件
第一步:生成带可调试信息的可执行文件
第二步:code .当我目录下打开VScode
第三步:创建lauch.json文件
第四步:配置lauch.json文件
gdb调试大的工程项目
第一步:添加选项参数-g,生成带有编译信息的可执行文件
打开CMakelists.txt文件; 添加参数选项-g,修改后保存;
另一种 CMakelists.txt文件,要生成带有调试信息的可执行文件,需要设置为"DEBUG"(对应release),参数设置"-g";
第二步:
cd 进入build文件,执行make命令,重新编译;
第三步:配置launch.json文件,进行调试
program——要运行的可执行文件或源代码的绝对路径;
args——要传递给program的参数,运行可执行文件需要输入多个命令:如运行 ./sat_atpg /home/hhh/benchmark/isca85/c17.bench;args填写输入文件的绝对路径;
对于工程中可执行文件的路径,可以打开VScode侧边栏,直接进行复制;
一般创建build后,make编译后生成的可执行文件的默认安装路径在build/bin下
注意:要进行调试前,必须先生成带有可调试信息的文件;
其它:点击底部选择GCC调试;
第四步:多个源文件设置断点
格式:break 文件路径(名):设置断点处行号
vscode可直接在工程文件中复制相对路径或绝对路径
gdb调试单个.cpp文件
第一步:生成带可调试信息的可执行文件
以systemclock.cpp为例,生成带调试信息文件dug_systemclock
第二步:code .当我目录下打开VScode
第三步:创建lauch.json文件
注意:若点击Add configuration不显示c/c++:(gdb) 启动;则关闭VScode,打开终端,对带调试信息的文件dug_systemclock执行gdb调试;按quit退出gdb
再次打开VScode,点击Add configuration即可显示正常显示选项c/c++:(gdb) 启动
weixin_42697546: 记得(std::numeric_limits<double>::max)() 顺序哦
m0_57437773: 所以-clipboard就没办法了吗
weixin_44426507: 说反了吧
Miss papa: 万分感谢
2401_85239792: zy999