我遵循以下指南: https://www.kernel.org/doc/Documentation/gdb-kernel-debugging.txt
当我尝试使用以下命令加载模块符号时: (gdb)lx-symbols
gdb说该命令未定义。如何将这些helper命令添加到gdb?
gdb info:Centos 7.0上的gdb-7.6.1-51.el7.x86-64
答案 0 :(得分:0)
您必须获取最新的内核源代码(可能是4.0-rc4)或向后移植patch。基本上看看你的内核源代码中是否有script/gdb/
目录,如this。因为那是你获得这些脚本的地方。
然后,您按照https://www.kernel.org/doc/Documentation/gdb-kernel-debugging.txt
中提到的步骤操作答案 1 :(得分:0)
<强> add-auto-load-safe-path
强>
用法:
gdb -ex add-auto-load-safe-path /path/to/linux/kernel/source/root
现在自动加载GDB脚本,lx-symbols
可用。
这是minimal fully automated Buildroot + QEMU example with detailed instructions。
答案 2 :(得分:0)
我也遇到过类似的问题。在我的情况下,问题出现是因为我没有将自动加载安全路径设置为 ../scripts/gdb/vmlinux-gdb.py。所以我创建了 ~/.gdbinit 文件添加
add-auto-load-safe-path path/to/linux/kernel/tree/scripts/gdb/vmlinux-gdb.py