强制gdb在随机化地址处加载共享库

6

我正在调试一个共享库。我发现当在Linux主机启用ASLR时可以触发该bug,而当禁用ASLR时该bug消失。

我希望使用gdb进一步调试共享库。但我发现它总是将共享库加载到固定的地址,这使得该bug消失了。

有没有办法禁用gdb的这个特性?

1个回答

9
有没有办法禁用gdb的这个功能?
是的,您可以在运行程序之前使用set disable-randomization off。请参见gdb文档中的以下部分:

set disable-randomization off

保留已启动的可执行文件的行为不变。某些错误只有在以特定地址加载程序时才会出现。如果您在GDB下运行程序时发现错误消失了,那可能是因为GDB默认禁用地址随机化(对于像GNU/Linux这样为独立程序做的平台而言)。使用set disable-randomization off尝试重现此类难以捉摸的错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接