GDB常用指令

GDB多线程常用指令,可以参考的文档

默认调试多线程的时候,一旦进程中断,所有线程暂停,如果在执行当前线程,其他线程同时执行,gdb7.0其他线程默认不暂停

  • start:程序运行到main函数的第一行
  • run(r):开始指向,自动停止到第一个断点
  • continue(c):继续运行,直到运到断点,或者程序结束
  • break(b):设置断点
  • info break:查看断点信息
  • enable/disable/delete 断点编号:启用断点、禁用断点、删除断点
  • print(p):查看变量参数的值
  • info threads:查看线程信息
  • thread + 线程编号:切换线程
  • backtrace(bt):查看调用堆栈
  • frame(f):跳堆栈
  • next(n):执行下一条代码
  • step(s):进入函数内部,如果没有函数和next一样
  • list +/- 数量:显示行数代码

GDB多进程常用命令,多进程调试

父进程fork产生子进程,默认只调试当前父进程,且默认子进程在调试的时候是运行的,其他子进程的执行状态应该也是看版本

  • info inferiors:查看进程列表,标志*就是当前调试的进程
  • attach pid:绑定进程id,用于绑定正在运行的进程,gdb就会切换到当前执行的进程,并且并且当前进程会暂停
  • inferior id:切换到指定进程上进行调试
  • print &_exitcode:显示进程退出时的返回值
  • set follow-fork-mode child:追踪子进程;set follow-fork-mode只要选定了,调试过程中,不能修改目标进程,如果想切换其他进程需要设置set detach-on-fork off
  • set follow-fork-mode parent:追踪父进程,默认设置
  • set detach-on-fork on:fork调用时只追踪其中一个进程,默认设置,调试一个进程的时候其他进程正常执行,也就是说只能调试一个进程
  • set detach-on-fork off:fork调用时会同时追踪父子进程,调试一个进程的时候其他进程被挂起,可以调试多个进程
  • show detach-on-fork:查看当前调试环境中,detach-on-fork的值
  • set schedule-multiple on:调试某进程时,其他进程正常执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值