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

时间:2017-05-12 18:11:28

标签: gdb aslr

我正在调试共享库。我发现当我在Linux主机中启用ASLR时可以触发该错误,而当ASLR被禁用时,该错误就会消失。

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

有没有办法禁用这个gdb的功能?

1 个答案:

答案 0 :(得分:3)

  

有没有办法禁用这个gdb的功能?

是的,您可以在运行程序之前set disable-randomization off。 请参阅gdb documentation的这一部分:

  

设置禁用随机化

     

保持已启动的可执行文件的行为不变。只有当程序加载到某些程序时,一些错误才会使它们的丑陋头部重新出现   地址。如果在GDB下运行程序时您的错误消失了,   这可能是因为GDB默认禁用该地址   在GNU / Linux这样的平台上实现随机化   独立的计划。使用set disable-randomization off尝试   重现这些难以捉摸的错误。