Linux下 错误调试

来源:互联网 发布:linux gosu 编辑:程序博客网 时间:2024/06/11 18:14

Linux下发生段错误原因之一:

1.访问不存在的内存地址或系统保护的内存地址; 如在函数调用中,本来应将地址传给指针参数,却误将值传入,再如写scanf函数时,忘记&地址符号;

2.访问只读的内存地址;

3.栈溢出,如递归程序,没有退出条件,无限递归导致栈溢出;

gdb调试时发生错误:

“没有符号表被读取,请使用”file“命令,分析:-g参数没添加对

多个文件如何添加调试信息:

如有两个源文件:allsort.c和main.c,写Makefile时一般逐个编译源文件,最后加调试信息无效。所以调试时要一起编译才行  gcc -g -o main allsort.c main.c -std=c99

原创粉丝点击