如何为Linux perf record启用debuginfod以自动获取调试符号?
Linux perf 支持通过 debuginfod 查找调试符号吗?
答案是肯定的,Linux perf 从 v5.11 版本开始正式支持 debuginfod,完全可以在执行 perf record -g 这类命令时自动拉取所需的调试符号。
配置步骤:
- 先确认 perf 版本达标,执行命令:
perf --version,确保版本不低于 v5.11 - 设置环境变量开启支持:
- 临时启用:直接在 perf 命令前拼接变量,比如
DEBUGINFOD_URLS="https://debuginfod.elfutils.org/" perf record -g -p <进程PID> - 全局永久启用:将
export DEBUGINFOD_URLS="https://debuginfod.elfutils.org/"添加到~/.bashrc或~/.zshrc配置文件中(多源可用空格分隔)
- 临时启用:直接在 perf 命令前拼接变量,比如
- 部分发行版(如 Fedora、RHEL 9+)已经默认配置了
DEBUGINFOD_URLS,无需额外设置即可直接使用
补充说明:
- perf 会自动缓存下载的调试符号,默认缓存目录为
~/.cache/debuginfod_client/,避免重复下载 - 若符号加载异常,可执行
perf report -D查看详细日志,排查 debuginfod 连接或符号拉取问题
内容的提问来源于stack exchange,提问作者A. K.
相关产品推荐
相关产品推荐

