【面试】GDB调试

用GDB调试多进程程序  如果一个进程通过fork系统调用创建了子进程,gdb会继续调试原来的进程,子进程则正常运行。那么该如何调试子进程呢?单独调试子进程  子进程从本质上说也是一个进程,因此我们可以用通用的gdb调试方法来调试他。   举例来说如果要调试一个服务器中的某一个子进程,我们可以先运行服务器,然后找到目标子进程的PID,再将其附加(attach)到gdb调试器上,具体操作为:
摘要由CSDN通过智能技术生成

用GDB调试多进程程序

  如果一个进程通过fork系统调用创建了子进程,gdb会继续调试原来的进程,子进程则正常运行。那么该如何调试子进程呢?

单独调试子进程

  子进程从本质上说也是一个进程,因此我们可以用通用的gdb调试方法来调试他。
  举例来说如果要调试一个服务器中的某一个子进程,我们可以先运行服务器,然后找到目标子进程的PID,再将其附加(attach)到gdb调试器上,具体操作为:
  

$ps -ef | grep 进程名
//通过上述命令的到待调试进程的PID
$gdb
(gdb) attach "PID"
//上面的“PID”即待调试进程的pid

使用调试器选项follow-fork-mode

  gdb调试器的选项follow-fork-mode允许我们选择程序在执行fork系统调用后是继续调试父进程还是调试子进程。
  其用法如下:
  


                
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值