_009_gdb调试
Posted huangtiandi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了_009_gdb调试相关的知识,希望对你有一定的参考价值。
===================================================
查看源代码
调试需要先把应用程序编译,编译的时候后面需要加一个-g写入调试信息
然后 gdb app
程序会断下来,然后按l(小写)可以查看源代码
按 l xxx.c:20 可以查看其它的.c文件的代码,第20行
按 l xxxx.c:函数名 可以查看函数名,想继续看,就继续按l,就能看函数下面的内容,然后直接按回车就行了,不用一直按l
打断点
break 22或者b 22 在22行打断点
b 15 if i==10 条件断点,如果在15行处,i==10,才会断下来
info break或者i b 查看断点的信息
delete 断点编号(d 编号) 删除一个断点
start或者r(run) 开始执行程序,但是只执行一步,相当于单步步过,然后按n(next)就可以继续单步,按s(step)是单步步入,可以进入函数体内部如果不想单步了, 可以按c (continue) 直接跑到断点的地方,如果没有断点,那就直接跑完
查看变量的数值 p 变量名 p应该是pointer的意思
查看遍历的类型 ptype 变量名
追踪遍历的数值 display(显示) 变量名 ,每次都会打印出来这个变量的数值,如果不再想追踪,就用undisplay 变量的编号
变量的编号用 info display显示
u 跳出循环
finish(完成) 跳出当前函数
set var 变量名 设置某个变量的数值,可以用这个来控制循环
quit 退出调试
以上是关于_009_gdb调试的主要内容,如果未能解决你的问题,请参考以下文章