gpt4 book ai didi

linux - 如何从 vmlinux 安装调试信息包

转载 作者:太空狗 更新时间:2023-10-29 12:01:03 25 4
gpt4 key购买 nike

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

CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_INFO=y

所以我假设生成的 vmlinux 文件将包含所有必需的调试信息。

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

这是我的性能命令。

#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

我在这里错过了什么?我需要单独安装调试信息包吗?

问候,阿蒂什

最佳答案

用于构建内核 rpm 的 binrpm-pkg 目标不会生成调试信息,因为它禁用了调试信息包的生成,您可以尝试这样做,在内核源代码树中打开 scripts/package/mkspec,然后搜索一行 echo "%define debug_package %{nil}",评论或删除这一行,然后再次尝试构建。

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

查看链接:

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

关于linux - 如何从 vmlinux 安装调试信息包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36672177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com