【发布时间】:2019-06-07 08:35:09
【问题描述】:
我想使用gdb的记录,但是因为glibc的ld.so使用xsave指令,我得到错误“进程记录不支持地址0x7ffff7fe883c的指令0xfae64。”
感谢stackoverflow answer,我能够通过二进制补丁修复类似的错误。运行半小时后使用调试符号编译 glibc 失败,所以如果有更快的解决方案,我会很高兴。我从here 获得了一个编译版本,但似乎没有提供更早的版本(即我现在使用的是 glibc 2.28.r502.g065957a3704-1 和 gdb 8.2.1)。如何使 gdb 记录工作?
【问题讨论】:
-
尝试使用更新的 gdb 版本。
-
@fuz 8.2.1 是据我所知的最新 gdb 版本。
-
我找到了两种可能的解决方案:(a)在运行程序之前设置
LD_BIND_NOW=1或(b)做一个静态链接。根据this thread,两者都是推荐的解决方法。 -
@fuz 太棒了,这些变通办法都有效,想把它写成解决方案吗?
标签: assembly linker gdb x86-64 glibc