debugging - 使用 GCC 将程序的源代码嵌入到其二进制文件中以供 GDB 稍后使用

标签 debugging gcc gdb

我已经厌倦了在完成调试之前必须保持源代码不变。每当我更改代码时,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/

相关文章:

debugging - 为什么VS2010在遇到某些异常时会停止调试而不是中断?

linux - 在 gcc 中放置 `-l' 选项

c++ - GDB:走进图书馆

c++ - 获取调用函数调用的C++程序中的所有行号

gcc - 64 位平台上的 ELF 目标文件大小限制是多少?

c++ - 获取地址错误时无法访问内存

c - 3 天后段错误会杀了我

c++ - 更改 Visual Studio 调试器显示 char 变量的方式

c# - 闯入 C# 调试器以除以零

c++ - 什么是 "one-stop memory corruption"?