全部~
我看不到使用 gdb 加载的 coredump 中的符号。
我按以下顺序加载了核心转储文件。
$gdb
(gdb) core-file vold.corefile
[New LWP 3833]
[New LWP 3834]
[New LWP 3835]
Core was generated by `/system/bin/vold'.
Program terminated with signal 3, Quit.
#0 0xb6eaffc8 in ?? ()
(gdb) symbol-file ./out/target/product/msm8974/obj/EXECUTABLES/vold_intermediates/LINKED/vold
Reading symbols from /home/p14291/MSM8974_KK/SYS/EF63/MSM8974_KK/out/target/product/msm8974/obj/EXECUTABLES/vold_intermediates/LINKED/vold...done.
(gdb) bt
#0 0xb6eaffc8 in ?? ()
#1 0xb6ebd316 in ?? ()
#2 0xb6ebd316 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
如您所见,我看不到任何符号信息。
如何查看回溯的符号信息?
最佳答案
I can not see the any symbol information.
当您将错误的二进制文件加载到 GDB 中时,最常发生这种情况。你应该
使用规范方式调用GDB:
gdb out/target/product/msm8974/obj/EXECUTABLES/vold vold.core
确认您的二进制文件
out/target/product/msm8974/obj/EXECUTABLES/vold
与生成核心转储的目标系统上的/system/bin/vold
完全相同(模剥离 - 如果一个二进制文件是另一个二进制文件的剥离版本,也可以)。
关于android - 我看不到使用 gdb 加载的 coredump 中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20986010/