70,023
社区成员




int a(){
do something;
if ( b() == -1 ){
return -1;
}
}
#include <stdio.h>
static int a(int a, int b);
static int b(int a, int b);
static int c(int a, int b);
static int d(int a, int b);
static int e(int a, int b);
static int a(int a,int b)
{
//something
}
static int b(int a,int b)
{
//something
}
static int c(int a,int b)
{
//something
}
static int d(int a,int b)
{
//something
}
static int e(int a,int b)
{
//something
}
我不明白的是编译生成的.o文件中能够找到函数 a,b,c,d的 符号,却找不到 e 的符号。nm test.o | grep myfun
但是奇怪的是为什么会编译不进去呢???!
有人遇到过这种情况吗?
1 首先 确定编译的时候是否加了 -g 选项
2 进入gdb调试,info break 查看是否有函数断点信息
3 a()断点成功, 试试 next 单步执行语句跟踪查找确认信息是否满足条件进去b函数入口