/usr/lib/debug/modules/
我需要使用崩溃实用程序调试 vmcore 转储文件,但是在我的路径中没有看到调试 vmlinux 。
实际上在我的系统中,模块/usr/lib/debug/ 目录下不存在该目录。
我尝试使用以下链接安装调试符号:
https://drgn.readthedocs.io/en/latest/getting_debugging_symbols.html
https://hadibrais.wordpress.com/2017/03/13/installing-ubuntu-kernel-debugging-symbols/
https://www.ibm.com/docs/en/linux-on-systems?topic=linuxonibm/liacf/oprofkernelsymrhel.html
但它无法安装调试符号。
以下两个命令是安装调试符号的最终命令:
sudo apt-get install linux-image-$(uname -r)-dbgsym
sudo apt-get install linux-image-$(uname -r)-dbg
但是上述命令无法安装调试符号,并显示以下消息:
E: Unable to locate package linux-image-6.0.2-dbgsym
E: Couldn't find any package by glob 'linux-image-6.0.2-dbgsym
E: Couldn't find any package by regex 'linux-image-6.0.2-dbgsym
系统详细信息:
Ubuntu 18.04.3 LTS
Linux内核版本:6.0.2
请就如何获取调试 vmlinux 提供建议。
答案1
您已为 Ubuntu 18.04 安装了不受支持的主线内核。
该sudo apt-get install linux-image-$(uname -r)-dbgsym
命令尝试安装与正在运行的内核相对应的包(uname -r
)但失败了。
显然是因为 Ubuntu 存储库中没有 6.0.2 内核。
您有以下选择:
使用受支持的 Ubuntu 内核。在这种情况下,命令应该可以正常工作。
dbgsym
如果有的话,请从获取 6.0.2 映像的地方进行安装。从源代码构建内核并启用
dbgsym
。