Debugging 使用gdb调试BSD上的fork

Debugging 使用gdb调试BSD上的fork,debugging,gdb,freebsd,bsd,Debugging,Gdb,Freebsd,Bsd,目前,GDB在fork之后的子进程之后有一个问题。我在网上看到的一个解决方法是使用以下说明:- 呼叫0x8048740 详情如下:- gdb$ set *(0x08048d1f+1)=0x90909090 gdb$ set *(0x08048d1f)=0x9090c033 执行此操作会将说明设置为:- xor eax,eax nop nop nop 因此,应该作为子级执行的代码由父级执行,并且我能够调试它。然而,每次我必须调试这个过程时,键入这两个步骤的语句太单调了。是

目前,GDB在fork之后的子进程之后有一个问题。我在网上看到的一个解决方法是使用以下说明:-

呼叫0x8048740

详情如下:-

gdb$ set *(0x08048d1f+1)=0x90909090
gdb$ set *(0x08048d1f)=0x9090c033
执行此操作会将说明设置为:-

xor    eax,eax
nop    
nop    
nop

因此,应该作为子级执行的代码由父级执行,并且我能够调试它。然而,每次我必须调试这个过程时,键入这两个步骤的语句太单调了。是否有任何方法可以在每次我附加到流程时指示gdb修补这些指令?某种自动化,尽管它可能是有限的

有几种方法可以使用扩展GDB命令列表。Python脚本支持是GDB自7.1版本以来的最新开发。然而,从您的需求来看,您不需要太多脚本。您可以使用最简单的
define
命令

不久前我回答了一个问题,你可以用同样的方法