naf*_*fmo 4 gcc gdb binary-reproducibility
在 $DAYJOB,我正在尝试使用reproducible-builds.org中的提示来实现可重现的构建,以便更轻松地调试已发布的软件,而我们的构建服务器上不再有完整的调试版本。
在 GCC 中使用-ffile-prefix-map=/path/to/build=src选项来避免泄漏内部文件路径确实有助于使一些错误消息更清晰,但在使用 GDB 时确实会产生问题。我位于 /path/to/build/some/binary/ 并在 /path/to/build/lib/cclib/ 中命中断点:
Breakpoint 1, [...]
at src/lib/cclib/eventloop.cc:154
154 src/lib/cclib/eventloop.cc: No such file or directory.
(gdb)
Run Code Online (Sandbox Code Playgroud)
作为解决方法,我可以符号链接src到构建树的根,但是有没有更好的方法来确保 gdb 理解映射?
GDB 有一些配置命令来指导它搜索源代码的方式。在您的情况下,如果您有源代码树并且需要更改路径前缀,则您需要做的就是设置替代路径DWARF-compilation- dir 实际目录。
set substitute-path src /path/to/build
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3737 次 |
| 最近记录: |