无法找到 /usr/lib/debug/modules/...vmlinux 文件来使用崩溃实用程序调试转储文件

无法找到 /usr/lib/debug/modules/...vmlinux 文件来使用崩溃实用程序调试转储文件

/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 内核。

您有以下选择:

  1. 使用受支持的 Ubuntu 内核。在这种情况下,命令应该可以正常工作。

  2. dbgsym如果有的话,请从获取 6.0.2 映像的地方进行安装。

  3. 从源代码构建内核并启用dbgsym

相关内容