段错误的三个原因
1.野指针。
2.是否对零地址的指针操作。
3.scanf()赋值时忽略了&。
如何检查段错误?(特点:编译没有错,哪一行错在哪一行停。)
1.gcc -g demo.c
gdb a.out
run
2.每一行下面加
printf(“%s:%d\n”,__fun__,__LINE__);
两个下划线 函数名 行号
本文介绍了导致段错误的三个主要原因:野指针、对零地址指针的操作以及使用scanf时忽略取址运算符。此外,还提供了两种检查段错误的方法:使用gcc编译时添加调试信息,并利用gdb逐行调试,通过打印函数名和行号来定位错误发生的具体位置。
段错误的三个原因
1.野指针。
2.是否对零地址的指针操作。
3.scanf()赋值时忽略了&。
如何检查段错误?(特点:编译没有错,哪一行错在哪一行停。)
1.gcc -g demo.c
gdb a.out
run
2.每一行下面加
printf(“%s:%d\n”,__fun__,__LINE__);
两个下划线 函数名 行号
499

被折叠的 条评论
为什么被折叠?