GCC 源码调试

来源:互联网 发布:c语言0|1 编辑:程序博客网 时间:2024/05/30 20:07

单独来阅读gcc源码,恐怕没有哪个不头痛的,如果我们把gcc编译成可调试的,然后在gdb下一步一步跟踪,大概要有趣的多,但遗憾的是,gcc 源码的配置项却缺少直接编译成可调试的选项,看来只有动动歪脑子了,这里已 3.4.4 版为例。

 

把源码解压,在源码所在目录有一个configure 文件,用写字板打开,查找CFLAGS字窜,你会发现有这样的内容:

 

 CFLAGS=${CFLAGS-"-g -O2"}

 

把其中的-o2 去掉,当把所有的CFLAGS 都做同样的动作,(也可以这样做:export CFLAGS=-g )然后:

 

./configure

Make

make install

gcc 默认安装在/usr/local/bin目录下,

转到该目录创建一个测使用c文件:

test.c:

int main(){   int a=0;   return 0;}

启动gdb, 装入gcc,然后找到入口点main

gdb>file gcc

gdb>l main

gdb> b main

gdb>set args test.c

gdb>r

这是就会进入到断点出,这样就可以跟踪代码了

 


 

原创粉丝点击