C/C++链表练习时遇到的问题
2012-08-17 10:16
295 查看
Segmentation fault错误如何跟踪?
段错误
一般都是非法内存操作,例如数组越界,例如申请a[5],却访问到a[5]或者a[6],这也会有很多情况,可能是循环操作时循环变量控制有问题,可能是字符串拷贝时长度发生溢出
指针指向了非法内存,例如申明一个指针,但是没有对指针进行初始化,直接就引用,或者引用里面的元素或者函数,或者没有分配内存就进行释放等,另外,申请内存还要检查是否申请成功,如果没有申请成功也会出现这种情况
单步调试或者加打印信息,细心一点总可以找到错误的,注意编译成调试版本
如果是linux,可以产生core文件,从core文件查看出错的地方。
我的错误是因为输出函数:scanf("%d",n),书写错误,正确写法:scanf("%d",&n).
段错误
一般都是非法内存操作,例如数组越界,例如申请a[5],却访问到a[5]或者a[6],这也会有很多情况,可能是循环操作时循环变量控制有问题,可能是字符串拷贝时长度发生溢出
指针指向了非法内存,例如申明一个指针,但是没有对指针进行初始化,直接就引用,或者引用里面的元素或者函数,或者没有分配内存就进行释放等,另外,申请内存还要检查是否申请成功,如果没有申请成功也会出现这种情况
单步调试或者加打印信息,细心一点总可以找到错误的,注意编译成调试版本
如果是linux,可以产生core文件,从core文件查看出错的地方。
我的错误是因为输出函数:scanf("%d",n),书写错误,正确写法:scanf("%d",&n).
相关文章推荐
- c++练习中遇到的问题和解决
- 用C++解决数学类问题的练习
- 遇到的c/c++问题汇总
- java练习中遇到的问题记录
- C++调用matlab时可能遇到的问题和相关设置
- C++学习中遇到的问题及其解决方案
- 一个Codility上的练习遇到和预期结果不同的问题。
- C++学习中遇到的问题及其解决方案
- 初学C++遇到的引用头文件问题
- C#调用C++Dll封装时遇到的一系列问题
- 用链表解决if语句过多的问题(C/C++实现)
- C语言,C++编译遇到问题:has no member named ''XXX‘
- C++学习中遇到的问题(求解答)
- c++基础编程函数调用时遇到的问题
- c++遇到问题
- C++ 编程中遇到的一些实际问题
- 在练习“==”和“equals”时遇到的问题
- 关于轮播图的练习和遇到的问题
- 编译trimesh2遇到问题:The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant names
- 练习webpack遇到的一些问题以及解决办法,供自己以后参考