【发布时间】:2011-04-23 14:59:18
【问题描述】:
默认情况下,gcc 会将符号表添加到可执行文件中,因此gdb 将获得可读的堆栈跟踪。
gcc 手册页中 -ggdb1 选项的文档说:
级别 1 产生的信息最少,足以在您不打算调试的程序部分中进行回溯。这包括函数和外部变量的描述,但没有关于局部变量的信息,也没有行号。
...在我看来,这与在没有任何与调试相关的参数的情况下调用 gcc 相同。但显然发出了额外的符号(.debug_frame、.debug_str、.debug_loc)。
那么究竟有什么区别,使用-ggdb1 编译而不是简单地不剥离可执行文件有什么好处?
【问题讨论】:
标签: c gcc debug-symbols