带参数的调试,参考这个 https://www.kancloud.cn/itfanr/i-100-gdb-tips/81926
具体操作例子为
g++ -g ex3.cpp -o ex3
gdb
然后进入gdb
然后在gdb下输入参数并运行代码。
(gdb) set args myfind ~/coding/VScode/CPP -name *.cpp
(gdb) file ex3
Reading symbols from ex3...done.
(gdb) run
接下来的参考 http://man.linuxde.net/gdb
加断点:b 22
给22行加断点
查看所有断点:info breakpoints
跳去下一个断点处:c
去除断点:d
,如果没有说去除哪一个就是全部
下一步:n
和s
s: 执行一行源程序代码,如果此行代码中有函数调用,则进入该函数;
n: 执行一行源程序代码,此行代码中的函数调用也一并执行。 s 相当于其它调试器中的“Step Into (单步跟踪进入)”;
输出当前环境它的值:p
如p i
输出i的值
跳出这个函数:finish
输出这行附近的代码:list
发现有问题更改了代码,不需要退出gdb也可以继续编译:file reload
两个选项都必须选yes,此时原来的断点也还在。
退出调试:quit
退出后现在的一切设置清零