GCC 源码调试

单独来阅读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

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

 


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值