Red Hat/Fedora 的调试信息文件约定?
Debug information file conventions for Red Hat/Fedora?
根据 lothar 在 How to generate gcc debug symbol outside the build target 的回答,我可以创建一个由两部分组成的可执行文件 - 剥离的可执行文件和调试信息文件。
创建剥离的可执行文件和调试信息文件后,我正常安装可执行文件(make install
)。但是我不确定如何处理 Red Hat/Fedora.
的调试信息文件
关于使用 GDB 或 LLDB 调试可执行文件(如果需要调试),我有两个问题:
Red Hat/Fedora 上的调试信息文件的名称是什么?是否有可遵循的约定以便调试器自动将它们与可执行文件相关联?
Red Hat/Fedora 上的调试信息文件放在哪里?调试器在调试可执行文件时找到它们的位置是什么?
这是一个针对不同平台的相关问题:了解 OS X 的相同问题也会有所帮助,因为我有时会使用它。
Fedora wiki 中的 Debuginfo Packaging page 讨论了在创建 RPM 包时生成(或缺少)-debuginfo
子包,但它也包含一些关于 debuginfo 本身的信息。简而言之,调试符号应放在 /usr/lib/debug
下,源代码应放在 /usr/src/debug
下。阅读该页面中命名的脚本(/usr/lib/rpm/find-debuginfo.sh
在 rpm-build
包中找到)将提供更多见解。
根据 lothar 在 How to generate gcc debug symbol outside the build target 的回答,我可以创建一个由两部分组成的可执行文件 - 剥离的可执行文件和调试信息文件。
创建剥离的可执行文件和调试信息文件后,我正常安装可执行文件(make install
)。但是我不确定如何处理 Red Hat/Fedora.
关于使用 GDB 或 LLDB 调试可执行文件(如果需要调试),我有两个问题:
Red Hat/Fedora 上的调试信息文件的名称是什么?是否有可遵循的约定以便调试器自动将它们与可执行文件相关联?
Red Hat/Fedora 上的调试信息文件放在哪里?调试器在调试可执行文件时找到它们的位置是什么?
这是一个针对不同平台的相关问题:
Fedora wiki 中的 Debuginfo Packaging page 讨论了在创建 RPM 包时生成(或缺少)-debuginfo
子包,但它也包含一些关于 debuginfo 本身的信息。简而言之,调试符号应放在 /usr/lib/debug
下,源代码应放在 /usr/src/debug
下。阅读该页面中命名的脚本(/usr/lib/rpm/find-debuginfo.sh
在 rpm-build
包中找到)将提供更多见解。