4

如何按地址在共享库中设置断点?假设我反汇编了一个库并找到了一条我想中断的指令,但该指令与标签无关:

$ objdump -d libFoo.so

...

bc29a:       48 89 f5                mov    %rsi,%rbp

...

加载库后将 ELF 文件地址 (bc29a) 转换为正确虚拟地址的最佳方法是什么?以及如何将这些信息传达给 GDB?

谢谢你的帮助。

4

1 回答 1

2

也许最简单的方法是“设置 stop-on-solib-events 1”。这将导致 gdb 在加载或卸载共享库时停止。当它加载您想要的库时,您将能够设置断点。

然后,您可以使用“信息共享”查看每个库的偏移量。我忘记了这是否是文本部分的偏移量;所以你可能需要尝试一下。

于 2013-05-24T17:13:04.797 回答