段错误
段错误一般表现为段吐核,随着程序的运行,如果边界考虑不全,非法引用了无效成员等,会导致此种情况
/*段吐核问题解决演示*/
#include <stdio.h>
typedef struct stu
{
int age;
char sex;
}STU;
int main()
{
STU *stu1=NULL;
printf("%d\n",stu1->age);
return 0;
}
解决方法
1.ulimit -c unlimited (解除生成核心转储信息文件的大小限制)
2.gcc test.c -g (加入-g选项生成调试信息)
3. ./a.out(有段错误,就会出现core文件)
4.gdb ./a.out -c core (gdb调试)
5.在gdb调试命令行下输入bt(back trace),它会显示出现错误的地方