【发布时间】:2010-03-22 09:51:50
【问题描述】:
当我使用 gcc 进行发布构建时(即我没有指定 -g),我似乎仍然会在二进制文件中得到符号,并且必须使用 strip 来删除它们。事实上,我仍然可以在 gdb 中断点函数并获取回溯(尽管没有行号)。
这让我很惊讶——谁能解释为什么会这样?
例如
#include <stdio.h>
static void blah(void)
{
printf("hello world\n");
}
int main(int argc, char *argv[])
{
blah();
return 0;
}
gcc -o foo foo.c
nm foo | grep blah:
08048374 t blah
【问题讨论】:
标签: c gcc debug-symbols