1

目前 GDB 在 fork 之后在子进程之后存在问题。我在网上看到的一个解决方法是使用以下指令补丁:-

call 0x8048740 <fork@plt>

如下 :-

gdb$ set *(0x08048d1f+1)=0x90909090
gdb$ set *(0x08048d1f)=0x9090c033

这样做会将说明设置为:-

xor    eax,eax
nop    
nop    
nop

结果,应该作为子级执行的代码由父级执行,并且我能够对其进行调试。但是,每次我必须调试过程时都输入两个步骤语句太乏味了。每次我附加到进程时,有什么方法可以指示 gdb 修补这些指令?某种自动化,尽管它可能是有限的?

4

1 回答 1

2

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

前段时间我回答了一个类似的问题,您可以使用相同的方法。

于 2012-06-15T06:33:51.217 回答