4章

#

这里写图片描述

2

通过gdb调试分析,程序在无线递归调用时,栈空间地址不断向上面写入数据,最终会导致段错误。!

[------------------------------------stack-------------------------------------]
0000| 0xffffcf7c --> 0x804840a (<foo+11>:   leave)
0004| 0xffffcf80 --> 0xf7ffd938 --> 0x0 
0008| 0xffffcf84 --> 0x0 
0012| 0xffffcf88 --> 0xffffcf98 --> 0xffffcfa8 --> 0xffffcfb8 --> 0xffffcfc8 --> 0xffffcfd8 --> 0xffffcfe8 --> 0x0 
0016| 0xffffcf8c --> 0x804840a (<foo+11>:   leave)
0020| 0xffffcf90 --> 0xffffffff 
0024| 0xffffcf94 --> 0xffffcfbe --> 0x10804 
0028| 0xffffcf98 --> 0xffffcfa8 --> 0xffffcfb8 --> 0xffffcfc8 --> 0xffffcfd8 --> 0xffffcfe8 --> 0x0 
[------------------------------------------------------------------------------]

执行几次之后

[------------------------------------stack-------------------------------------]
0000| 0xffffcf78 --> 0xffffcf88 --> 0xffffcf98 --> 0xffffcfa8 --> 0xffffcfb8 --> 0xffffcfc8 --> 0xffffcfd8 --> 0xffffcfe8 --> 0x0 
0004| 0xffffcf7c --> 0x804840a (<foo+11>:   leave)
0008| 0xffffcf80 --> 0xf7ffd938 --> 0x0 
0012| 0xffffcf84 --> 0x0 
0016| 0xffffcf88 --> 0xffffcf98 --> 0xffffcfa8 --> 0xffffcfb8 --> 0xffffcfc8 --> 0xffffcfd8 --> 0xffffcfe8 --> 0x0 
0020| 0xffffcf8c --> 0x804840a (<foo+11>:   leave)
0024| 0xffffcf90 --> 0xffffffff 
0028| 0xffffcf94 --> 0xffffcfbe --> 0x10804 
[------------------------------------------------------------------------------]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值