我有一个内核映像,想用 kgdb 进行调试。.config
也不可用,否则我可以检查其中的标志。
在/proc/sys/
文件夹中也没有关于 kgdb 的条目。
有什么方法可以检查该图像是否启用了 kgdb?
我有一个内核映像,想用 kgdb 进行调试。.config
也不可用,否则我可以检查其中的标志。
在/proc/sys/
文件夹中也没有关于 kgdb 的条目。
有什么方法可以检查该图像是否启用了 kgdb?
如果您的内核映像是使用选项编译的
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
/proc/config.gz
然后您可以从或通过使用获取内核映像的配置
/pathtokernelsource/scripts/extract-ikconfig pathtokernelimage > /tmp/config
从那里您可以搜索CONFIG_KGDB
使用 grep 或 zgrep,具体取决于您查看的是压缩的还是未压缩的配置文件。
/pathtokernelsource/scripts/extract-vmlinux pathtokernelimage > /tmp/vmlinux
还将从映像中提取 vmlinux 可执行文件。
如果这有符号,您可以在该文件的 nm 输出中或在 System.map 中搜索您的内核映像中的 kgdb_arch_init 或 kgdb_arch_*,正如Mats Petersson在评论中提到的那样。