fork()
调用的Linux二进制文件进行反向工程。我在Ubuntu上使用GDB 7.5。我正在尝试使用GDB附加到某个fork()
(例如第二个调用)。唯一的方法是将follow-fork-mode
设置为child
并捕获对fork
的所有呼叫并每次手动切换它吗?#1 楼
您也可以按照文档中的说明使用set detach-on-fork off
: 文档还说:
如果选择关闭
set detach-on-fork MODE
模式,则GDB将保留控制所有分叉过程(包括嵌套的分叉)。您可以使用
detach-on-fork
命令在GDB的控制下列出分叉的进程,并使用
info inferiors
命令从一个分支切换到另一个分支退出调试其中一个分叉的进程,您可以使用
inferior
命令从中分离(允许它独立运行
),或者使用
detach inferiors
命令将其杀死。 >#2 楼
您所描述的是我通常如何做到这一点。如果需要,可以在fork
本身上设置断点提供了一个很好的位置来更改此模式。命令。http://sourceware.org/gdb/onlinedocs/gdb/Forks.html