GBD调试器

GDB的使用

  • 先编译程序:gcc 源文件名 -o 可执行文件名 -g
  • 进入gdb调试环境:gdb 可执行文件
  • 运行文件:run/r(一次运行完),start(单步运行)
  • 单步运行:next/n
  • 单步运行(可以进入函数体内部):step/s
  • 从函数体中跳出:finish
  • 查看代码:list/l,l 文件名:行号/函数名,l 行号/函数名
  • 继续向下查看内容:l (因为每次只显示10代码)
  • 设置断点:break/b 行号/函数名,b 文件名:行号/函数名
  • 设置条件断点:b 行号 if value == number
  • 删除断点:delete/d 断点编号
  • 获取断点编号:info/i b
  • 退出当前循环:u
  • 查看变量的值:p 变量名
  • 查看变量类型:ptype 变量名
  • 设置变量的值:set var 变量名 = 值
  • 追踪变量:display 变量
  • 取消追踪:undisplay 变量编号
  • 退出gdb:quit
  • 每次调试停在断点位置:continue/c

GDB调试在进程中的使用

  • 打开gdb时,默认调试父进程,或指定set follow-fork-mode parent,此命令在fork调用之前执行。
  • 调试子进程时:先start,再set follow-fork-mode child,然后用n继续调试,执行子进程时,父进程直接输出结果。
  • 跟踪指定的子进程:先在第n个子进程的入口处用带有if条件语句break语句打断点,然后set follow-fork-mode child
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值