踩内存问题分析方法

什么是踩内存?

读写不属于自己的内存就是踩内存,而解决踩内存的方法就是先找出何处代码踩了内存,然后再仔细检查代码逻辑修复问题。找出何处代码踩了内存通常很难,因为通常踩内存和程序崩溃没有任何关系,这导致踩内存问题很难调试,必须深入了解踩内存原理才能解决它。

如下图所示,在发生踩内存时,不一定马上奔溃,若是马上奔溃的就可直接找到何处代码踩了内存了,直接进行代码逻辑检查就行了。比较麻烦的在于程序奔溃点在之后的某个时间出现。P和C没有任何关系,因此要解决踩内存的关键点在于如何从C推到P,也就是研究当下C点内存踩坏的情况来判断可能的原因。

了解内存踩坏的情况对C到P的推导至关重要。
1. 根据被踩坏内存和自己内存关系可分以下五类:
1.1.  界踩内存:

1.1.1. 被踩坏内存在自己内存旁边,只是因为申请或定义的内存小了引起的。如:
--- 申请内存小了:
char *p;
p = malloc(5);
strcpy(p, "<

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值