我已经厌倦了在完成调试之前必须保持源代码不变。每当我更改代码时,GDB 就会开始提示:
warning: Source file is more recent than executable.
直到我重新编译它,这并不总是能很快完成。我认为如果能够将程序的源代码包含到其二进制文件中并让 GDB 使用它而不是其最新版本,那就太好了。
有人可以建议一种方法吗?这已经实现了吗?
最佳答案
源代码嵌入is a feature在 DWARF v5 中。奇怪的是 gcc 11.1 和 gdb 似乎完全缺少支持。不过 Clang 支持它。
clang-13 -gdwarf-5 -gembed-source hello.c -o hello
不幸的是,lldb 似乎还不能使用嵌入的源代码。
关于debugging - 使用 GCC 将程序的源代码嵌入到其二进制文件中以供 GDB 稍后使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4292406/