1. 栈有大小,数组长度需要注意:
gdb调试某程序,每次进入某函数时,程序就会出错中断,检查了,也没有什么地方有问题;后来把数组改小,程序正常,估计是栈空间超出了限制;
2. 内存故障:
运行时的内存故障,尤其是函数memcpy或者memset的错误,大部分都是由于操作指针造成内存溢出,很难查。可以尝试把该语句拷贝到其他地方执行,如果新加语句能够成功执行,则出错地方位于该语句与原出错语句之间。从而逐步缩小范围;
3. gdb调试的诡异问题:
运行时,用gdb调试,发现某if语句始终没有执行。后来发现if语句写错了,该语句是一个永远不会成立的语句。估计编译器对待该类语句会直接删除掉,因此在gdb调试过程中,根本不会出现该语句所在的行。
阅读(1307) | 评论(0) | 转发(0) |