gbd调试多线程和多进程

本文介绍了如何使用gdb调试多进程,包括单独调试子进程和使用follow-fork-mode选项。同时,也讲解了多线程调试的技巧,如info threads命令、thread id指定线程调试及scheduler-locking设置。对于进程池和线程池的调试,建议先从单个进程或线程开始,逐渐增加数量以检查同步问题。
摘要由CSDN通过智能技术生成

一、gdb调试多进程

1、如果一个进程通过fork系统调用创建了子进程,gdb会继续调试原来的进程,子进程则正常运行。调试子进程的方法有两种

(1)单独调试子进程(因为子进程从本质上来说也是一个进程,所以可以通过gdb进行调试)

  •  利用ps –ef | grep 文件名,得出子进程的PID(假设为5876)
  •  gdb
  • (gdb) attach 5876  /*将子进程5876附加到gdb调试器*/
  • (gdb) b num(num假设为164) /*设置子进程中断点*/
  • (gdb) c   /*继续执行,直到执行到下一个断点处*/

(2)使用调试器选项 follow-fork-mode

  这个选项允许我们选择程序在执行fork系统调用后是继续调试父进程还是调试子进程。具体命令如下:

  • 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值