与免费运行相比,为什么共享库在GDB内部的不同地址加载到目标程序?

时间:2017-02-02 09:20:08

标签: gdb shared-libraries

我正在尝试使用GDB调试程序。 程序自由运行时运行正常。它使用在地址0x7efff08加载的共享库libc.so.6。 但是当我在GDB中运行程序时,加载程序会为其他地址的程序加载共享库libc.so.6。我的程序试图从原始地址(0x07efff08)读取库,在那里它找不到ELF头,因此给出错误并终止。 (无效的ELF标头:无法加载共享的libc.so.6)

请注意,我已禁用ASLR。

这与共享库重定位有关吗? GDB和myprogram(正在调试)都使用相同的共享库。 在GDB中运行时,如何确保库在同一地址空间加载?

0 个答案:

没有答案