(gdb) l main
...
4614 if (do_daemonize)
4615 save_pid(getpid(), pid_file);
(gdb) l save_pid
Function "save_pid" not defined.
并且在源文件中有它的定义:
static void save_pid(const pid_t pid, const char *pid_file) {
FILE *fp;
...
}
save_pid
并且main
在同一个源文件中,但只有main
调试符号,为什么?
更新
另一个具有非常简单的静态函数的测试用例:
#include <stdio.h>
static int test()
{
return 0;
}
int main(void)
{
//int i = 6;
printf("%f",6.4);
return 0;
}
gcc -Wall -g test.c test
但是符号test
在那里!