加载libc';将符号转换为gdb

加载libc';将符号转换为gdb,gdb,libc,Gdb,Libc,我正在用比我的系统旧的libc版本调试二进制文件(我有libc-2.31,我运行的是2.24)。我用LD_LIBRARY_路径执行gdb,它就像一个符咒,但我不能加载任何符号 我从下载了最接近的符号文件,将其解压缩,然后将二进制文件加载到gdb中,我执行: add-symbol-file <path_to_libc-2.27.so from the deb package> 添加符号文件 文件已成功加载,但地址不正确。例如,尝试在诸如“主竞技场”(x/40gx&主竞技场)之类的符

我正在用比我的系统旧的libc版本调试二进制文件(我有libc-2.31,我运行的是2.24)。我用LD_LIBRARY_路径执行gdb,它就像一个符咒,但我不能加载任何符号

我从下载了最接近的符号文件,将其解压缩,然后将二进制文件加载到gdb中,我执行:

add-symbol-file <path_to_libc-2.27.so from the deb package>
添加符号文件
文件已成功加载,但地址不正确。例如,尝试在诸如“主竞技场”(x/40gx&主竞技场)之类的符号上停止会产生以下错误:

0x3ebc40:无法访问地址0x3ebc40处的内存

显然这个地址太低了,所以我猜它只是偏移量。我有什么问题?也许我需要找到适合我的版本(2.24)的调试文件?因为我没有人

谢谢

我用LD_LIBRARY_路径执行gdb,它就像一个符咒

它不应该工作,如果它今天正好工作,明天可能会坏

最简单的解决方案是在安装了所需版本的GLIBC的VM或docker容器内进行调试

如果不想这样做,请参阅如何在单个主机上正确设置多个glibc