设置断点,有什么好处,废话就不说了,可以去看手册
设置断点,参考
b xxx.cpp:n 某个源文件的某行
b func1 调试某个函数

编译
g++ test_gdb_watch.cpp -g
设置断点
b power
r
出现报错
Missing separate debuginfos, use: debuginfo-install glibc-2.17-326.el7_9.x86_64 libgcc-4.8.5-44.el7.x86_64 libstdc+±4.8.5-44.el7.x86_64
就是缺 调试的一些库,按照要求去下就好了,其实这里有一个问题,os 迭代过快会导致,镜像像风一样,飘!~
安装,参考
sudo debuginfo-install glibc-2.17-326.el7_9.x86_64 libgcc-4.8.5-44.el7.x86_64 libstdc+±4.8.5-44.el7.x86_64
安装成功之后
r
program to calculate powerBreakpoint 1, power (base=2, n=0) at test_gdb_watch.cpp:5
5 p = 1;
查看 参数信息
(gdb) info args
base = 2
n = 0
c 继续
(gdb) c
Continuing.
the i = 0 and the ans = 1Breakpoint 1, power (base=2, n=1) at test_gdb_watch.cpp:5
5 p = 1;
到这里,因该知道怎么看信息吧 就是 info xxx 参考
看断点信息
info b
Num Type Disp Enb Address What
1 breakpoint keep y 0x00000000004005a7 in >power(int, int) at test_gdb_watch.cpp:5
breakpoint already hit 5 times
删除断点
d breakpoints 1
(gdb) info b
No breakpoints or watchpoints.
这就是一个简单的调试了啦
以后就可以类推啦




更新
设置第二个断点
然后
l 查看这个断点附近的源代码,注意如果在第一次打断点,就会展示的个断点附近的源代码 然后注意编译要添加 -g 调试信息
然后一直断点调试
是不是就像我们在gui ide 上调试一样呀
查看栈中信息
info stack
info locals
l
print p
info args
参考01
参考02
参考03
参考04
参考05
参考06
参考07
参考08
参考09
参考10
参考11
参考12
参考13
参考14
参考15
参考16
参考17
参考18
参考19
参考20
参考21
参考22
参考23
参考24
参考25
参考26
参考27






1334

被折叠的 条评论
为什么被折叠?



