GDB插入断点导致Segmentation Fault

逆向工程 部件 调试 数据库 调试器
2021-06-22 19:05:02

我正在尝试使用 gdb,并且我对查看程序链接表 (PLT) 和全局偏移表 (GOT) 如何相互交互特别感兴趣。所以我设置了一些断点,看看这个过程是如何一步一步地工作的。有趣的是,当我在某条指令上设置断点时,出现了分段错误,我不明白为什么。我只是停在那个指令上。为什么我的程序会给我一个分段错误?我只是对这种行为感到好奇。我截图了行为。红线包围我插入断点的位置,程序开始接收段错误。

断点崩溃

1个回答

您的断点可能会覆盖指令中间的一个字节,而不是第一个。例如,它可能导致内存不足读取。您应该在已知指令(例如函数/存根的开始)处放置断点,然后逐步执行以下指令。