gdb 调试子进程

xiaoxiao2021-02-28  8

调试指令如下:

gdb ./fork

set follow-fork-mode child

set detach-on-fork off

b fork.cpp:13

r

打断点可以打到fork的位置,这样就可以进入到子进程调试

follow-fork-mode

用法:set follow-fork-mode [parent|child]  进入gdb后,直接设置,默认是parent 所以如果想要调试子进程,进入gdb后设置set follow-fork-mode child,然后设置子进程的断点 可用使用show follow-fork-mode 来查询当前fork模式

detach-on-fork mode 用法:set detach-on-fork [on|off] on: 只调试父进程或子进程的其中一个(根据follow-fork-mode来决定),这是默认的模式。 off: 父子进程都在gdb的控制之下,其中一个进程正常调试(根据follow-fork-mode来决定),另一个进程会被设置为暂停状态。 如果设置了set detach-on-fork off且follow-fork-mode为parent,fork后子进程并不运行,而是处于暂停状态。 参考:http://blog.csdn.net/fingding/article/details/46459095

转载请注明原文地址: https://www.6miu.com/read-1400391.html

最新回复(0)