Force gdb to load shared library at randomized address

时光总嘲笑我的痴心妄想 提交于 2019-12-17 20:27:07

问题


I'm debugging a shared library. I found that the bug can be trigger when I enable ASLR in Linux host, while the bug disappears when ASLR is disabled.

I want to further debug the shared library with gdb. But I found it always loaded the shared library at a fixed address, which made the bug disappear.

Is there any way to disable this gdb's feature?


回答1:


Is there any way to disable this gdb's feature?

Yes, you can set disable-randomization off before running the program. See this part of gdb documentation:

set disable-randomization off

Leave the behavior of the started executable unchanged. Some bugs rear their ugly heads only when the program is loaded at certain addresses. If your bug disappears when you run the program under GDB, that might be because GDB by default disables the address randomization on platforms, such as GNU/Linux, which do that for stand-alone programs. Use set disable-randomization off to try to reproduce such elusive bugs.



来源:https://stackoverflow.com/questions/43944064/force-gdb-to-load-shared-library-at-randomized-address

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!