如何从vmlinux安装debuginfo包

时间:2016-04-17 02:51:29

标签: linux linux-kernel kernel perf debug-information

我正在使用以下选项集构建自己的内核。

CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_INFO=y

所以我假设生成的vmlinux文件将具有所有必需的debuginfo。

我在机器中安装了该内核并将vmlinux文件放在/ boot /下。 但是,当我尝试执行perf注释时,它不会在汇编代码旁边显示源代码。它只显示汇编代码和c函数名称而不是整个源代码(我在注释期间尝试切换“s”)。

这是我的perf命令。

#perf record -g -a -e cycles:k sleep 5
#perf report -f -g -s symbol
#perf annotate -f -s <kernel function name> > annotate_<kernel_function>.txt

我在这里缺少什么?我是否需要单独安装debuginfo软件包?

此致 Atish

1 个答案:

答案 0 :(得分:3)

构建内核rpm的binrpm-pkg目标不会生成debuginfo,因为它禁用了debuginfo包的生成,您可以尝试这样做,在内核源代码树中打开scripts/package/mkspec,然后搜索一行{{1 },注释或删除此行,并尝试重新构建。

原因是该行明确告诉rpmbuild跳过debuginfo包。

请参阅链接:

https://github.com/torvalds/linux/blob/9256d5a308c95a50c6e85d682492ae1f86a70f9b/scripts/package/mkspec#L45