我有一个自定义gdbserver,有时无法在qOffsets的响应中给出有效的偏移量(出于好的原因,我不会进入这里)。我试图为GDB客户端/用户找到一种方法来弥补这一点。用户可以确定正确的负载偏移,直到不幸地加载图像为止。
当qOffsets没有得到回复(或得到" TextSeg = 0")时,"信息文件"显示各个部分 - 好像图像是在偏移0处加载的。
我尝试使用命令
section EX 0x00020000
section .xxxx 0x00025000
section ...
为每个部分手动提供正确的偏移量。
当我发出" info file"再次,现在出现正确的偏移量。
然而,"信息地址主要"仍然显示main的地址 - 如果它在偏移0处加载 - 所以不知何故,符号分辨率忽略了"部分"我提供的补偿。
也就是说,我得到了:
(gdb) info address main
Symbol "main()" is a function at address 0x474.
但我应该得到:
(gdb) info address main
Symbol "main()" is a function at address 0x20474.
有没有办法在客户端修复此问题?