首页 > 代码库 > 8.22 gdb调试的使用

8.22 gdb调试的使用

gdb基础使用:
如果需要使用gdb,在gcc的时候需要-g选项,不加无法调试。

help 查看命令帮助

list  看代码  
      list  行号  
       l
      list   函数名

run  运行

start  进行单步调试

step   跳进函数里        逐语句

next  下一步                逐过程

finish   结束一个函数,返回函数调用的位置   

print 变量    打印变量 

quit  退出 

backtrace  查看函数调用信息           bt

直接敲回车  是重复上一条命令

info  locals    查看局部变量信息

break  设置断点    b

info  breakpoints   查看设置的断点

delete                    删除断点
    delete breakpoints  NUM(断点数)

conutine  直接运行到下一个断点的位置

display     每次都看这个变量信息   监视



查看内存命令     x


x  /4x   地址                   /4表示显示几个  x十六进制
  1. o(octal),
  2. x(hex),
  3. d(decimal),
  4. u(unsigned decimal),
  5. t(binary),
  6. f(float),
  7. a(address),
  8. i(instruction),
  9. c(char)
  10. s(string).

  1. b(byte), 一个字节    
  2. h(halfword),  两个字节                 形式读取值
  3. w(word),  四个字节
  4. g(giant, 8 bytes). 八个字节


段错误:

r  就是 run       直接到段错误


死后验尸:
ulimit -a  查看core文件大小
设置大小并开启
ulimit  -c   1024

然后死了就生成core文件
gdb  a.out  core


来自为知笔记(Wiz)


8.22 gdb调试的使用