OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4062|回复: 12

KEIL 怎么调试存泄漏问题???

[复制链接]

28

主题

100

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2017-4-28
在线时间
44 小时
发表于 2018-3-29 16:42:52 | 显示全部楼层 |阅读模式
1金钱
在程序中遇到一个现象 就是  在程序运行过程中 一个数组中的数据被莫名的修改了 导致 数组中的数据不能使用出现错误!!!

分析了程序也没有找到问题,想问大佬们 像这类问题 有没有好的调试方法?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

192

帖子

0

精华

高级会员

Rank: 4

积分
582
金钱
582
注册时间
2017-6-2
在线时间
192 小时
发表于 2018-3-29 17:17:03 | 显示全部楼层
回复

使用道具 举报

28

主题

100

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2017-4-28
在线时间
44 小时
 楼主| 发表于 2018-4-2 11:08:56 | 显示全部楼层
jkd405 发表于 2018-3-29 17:17
分段注释慢慢找

不太好找!这个
不知keil有没有这个功能
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-4-3 01:36:28 | 显示全部楼层
不能,但是你可以隔一段时间就printf 内存使用率,然后观察变化。
回复

使用道具 举报

6

主题

315

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1669
金钱
1669
注册时间
2018-1-29
在线时间
160 小时
发表于 2018-4-3 07:28:15 | 显示全部楼层
这不是内存泄漏好吗?   貌似是指针访问越界。
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2015-12-21
在线时间
3 小时
发表于 2018-4-3 16:48:47 | 显示全部楼层
我也有遇到过,通过查看被修改的数组的内容,发现很有规律,连起来看为uart的打印的内容,然后把uart关掉以后数组的内容就正常了,然后就得出结论是我们公司使用的这颗IC的uart库有问题导致的.
回复

使用道具 举报

28

主题

100

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2017-4-28
在线时间
44 小时
 楼主| 发表于 2019-1-18 10:23:49 | 显示全部楼层
xiahui45 发表于 2018-4-3 16:48
**** 作者被禁止或删除 内容自动屏蔽 ****

恩恩,也只能这样了!没有内存保护就这样。得慢慢的分析!只能写的时候注意,考虑清楚了
回复

使用道具 举报

28

主题

100

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2017-4-28
在线时间
44 小时
 楼主| 发表于 2019-1-18 10:24:18 | 显示全部楼层
backup2k 发表于 2018-4-3 07:28
这不是内存泄漏好吗?   貌似是指针访问越界。

就是这样的,虽然没有导致死机!就得慢慢找
回复

使用道具 举报

28

主题

100

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2017-4-28
在线时间
44 小时
 楼主| 发表于 2019-1-18 10:25:01 | 显示全部楼层
正点原子 发表于 2018-4-3 01:36
不能,但是你可以隔一段时间就printf 内存使用率,然后观察变化。

恩?使用率?
回复

使用道具 举报

33

主题

159

帖子

0

精华

高级会员

Rank: 4

积分
527
金钱
527
注册时间
2017-1-21
在线时间
192 小时
发表于 2019-1-18 11:14:00 | 显示全部楼层
你肯定是数组啥的越界了,慢慢找把,这种蛋疼问题最纠结了。
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2019-1-18 13:34:57 | 显示全部楼层
数组越界,不是内存泄漏。for循环的操作时很容易多操作 1 BYTE的
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2019-1-19 10:06:55 | 显示全部楼层
什么是内存泄漏(memory leak)?
指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。

然后你找了这么久没找到?
回复

使用道具 举报

28

主题

100

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2017-4-28
在线时间
44 小时
 楼主| 发表于 2019-1-25 16:56:15 | 显示全部楼层
wxjhby 发表于 2019-1-19 10:06
什么是内存泄漏(memory leak)?
指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏 ...

找到了啊!主要是找的比较麻烦,看看大家有没有好的方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 12:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表