我正在尝试从可执行文件中分离出调试符号,
尝试了以下方法:
https://www.zeuthen.desy.de/dv/documentation/unixguide/infohtml/gdb/Separate-Debug-Files.html
IE
objcopy --only-keep-debug myelf myelf.debug
strip -g myelf
在 中加载此调试文件 ( symbol-file /path/to/myelf.debug
) 后gdb
,当我获得回溯时,我看不到相同数量的帧。我还看到一个错误!
有15
框架(虽然没有显示详细信息 - 文件:行号),加载符号文件后,我看到40
+ 框架和末尾的错误消息
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
代码未使用 进行编译。在编译时或使用或时,我需要-fPIE
什么不同才能获得带有符号的正确回溯?objcopy
gdb
我在 Ubuntu 上,二进制实用程序版本是2.30
和 gdb8.1.1