踩内存问题分析方法

什么是踩内存?

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

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

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

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

相关推荐

  1. QT (C++)定位内存越界(内存问题

    2024-01-11 02:48:03       34 阅读
  2. Linux收集内存快照来使用crash分析方法

    2024-01-11 02:48:03       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-11 02:48:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-11 02:48:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-11 02:48:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-11 02:48:03       20 阅读

热门阅读

  1. 平衡合规与发展天平, 激发数据要素价值

    2024-01-11 02:48:03       33 阅读
  2. Mr_HJ / form-generator项目文档学习与记录(续1)

    2024-01-11 02:48:03       37 阅读
  3. 【Leetcode】19. 删除链表的倒数第 N 个结点

    2024-01-11 02:48:03       38 阅读
  4. vue 的动态饼图

    2024-01-11 02:48:03       40 阅读
  5. RocketMQ双主双从搭建

    2024-01-11 02:48:03       34 阅读
  6. 开源IC设计工具

    2024-01-11 02:48:03       36 阅读
  7. CF1305C

    2024-01-11 02:48:03       38 阅读
  8. 工业冷水机的设计选型经验

    2024-01-11 02:48:03       31 阅读