gdb的安装
Linux下:
:yum install gdb
Mac OSX下:
:brew install gdb
coredump的配置
:ulimit -c unlimited
coredump可以参考:coredump的介绍及产生的几种可能情况
gcc选项
- -g:在可执行文件中加入源码信息,比如:可执行文件中第几条机器指令对应源代码的第几行,但并不是把整个源文件都嵌入到可执行文件中,而是在调试时必须保证gdb能找到源文件。这些调试信息包括行号、变量的类型和作用域、函数名字、函数参数和函数的作用域等源文件的特性。
GCC -g -g3 -ggdb -ggdb3 -gstabs -gstabs+ 选项
GCC 优化选项 -O -O0 -O1 -O2 -O3 -Os 简单介绍
简单例子
:cat main.c
#include <stdlib.h>
int main()
{
char *c = (char*)malloc(100);
free(c);
free(c);
return 0;
}
命令行输入:
:ulimit -c unlimited
:gcc -ggdb -O0 main.c -o main
:./main
它没事。什么文件都没有。为什么呢?