OpenEdv-开源电子网

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

死机 hardfault_handler 问题查找!

[复制链接]

11

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2015-10-9
在线时间
24 小时
发表于 2016-8-23 15:46:20 | 显示全部楼层 |阅读模式
10金钱
2.jpg 程序进入這个死循环后  点击show caller code 无反应   求问题查找的方法!    程序在跑大概10分钟以后会出现  但不是绝对的!

最佳答案

查看完整内容[请看2#楼]

数组越界的可能性比较大。 提供一个方法: 单独建一个标志,在不同的阶段设置不同的值, 死机之后查看这个标志的值,就能定位故障的程序段; 然后在这个程序段重新设置数值,可以更细致地定位。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6296

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11603
金钱
11603
注册时间
2014-4-1
在线时间
1327 小时
发表于 2016-8-23 15:46:21 | 显示全部楼层

数组越界的可能性比较大。

提供一个方法:
单独建一个标志,在不同的阶段设置不同的值,
死机之后查看这个标志的值,就能定位故障的程序段;
然后在这个程序段重新设置数值,可以更细致地定位。

回复

使用道具 举报

11

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2015-10-9
在线时间
24 小时
 楼主| 发表于 2016-8-23 15:46:45 | 显示全部楼层
return 是我自己查找问题添加的
回复

使用道具 举报

11

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2015-10-9
在线时间
24 小时
 楼主| 发表于 2016-8-23 15:55:39 | 显示全部楼层
xuande 发表于 2016-8-23 15:53
数组越界的可能性比较大。

提供一个方法:

感觉這个方法还可以
回复

使用道具 举报

2

主题

391

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1957
金钱
1957
注册时间
2014-8-8
在线时间
307 小时
发表于 2016-8-23 16:59:34 | 显示全部楼层
xiaoyehack 发表于 2016-8-23 15:55
感觉這个方法还可以

注释掉添加的代码恢复到发送故障前的状态,然后检查后面添加的代码,查看问题原因
回复

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2016-8-24 09:17:07 | 显示全部楼层
堆栈合理设置空间
让我们的思维驾驭在电的速度之上!
回复

使用道具 举报

5

主题

121

帖子

0

精华

高级会员

Rank: 4

积分
621
金钱
621
注册时间
2016-1-26
在线时间
150 小时
发表于 2016-8-24 10:59:24 | 显示全部楼层
一般是数组越界或者堆栈设小了,你这种情况多半是堆栈设小了!
回复

使用道具 举报

11

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2015-10-9
在线时间
24 小时
 楼主| 发表于 2016-8-26 18:26:09 | 显示全部楼层
无休 发表于 2016-8-24 10:59
一般是数组越界或者堆栈设小了,你这种情况多半是堆栈设小了!

嗯嗯  我抽时间出来找找這个原因  回头告诉大家问题出在哪?  
回复

使用道具 举报

11

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2015-10-9
在线时间
24 小时
 楼主| 发表于 2016-8-26 18:26:45 | 显示全部楼层
DongInker 发表于 2016-8-24 09:17
堆栈合理设置空间

怎么看的出来设置合理不合理?
回复

使用道具 举报

11

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2015-10-9
在线时间
24 小时
 楼主| 发表于 2016-12-10 12:06:17 | 显示全部楼层
xuande 发表于 2016-8-23 15:46
数组越界的可能性比较大。

提供一个方法:

谢谢  找到 可能出问题的地方了
回复

使用道具 举报

0

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2016-7-28
在线时间
17 小时
发表于 2017-5-3 21:01:44 | 显示全部楼层
下次也可以试试我新开源的 ARM Cortex-M 错误追踪库,定位更加准确便利:https://github.com/armink/CmBacktrace
Armink‘s Github: https://github.com/armink
回复

使用道具 举报

11

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2015-10-9
在线时间
24 小时
 楼主| 发表于 2017-5-19 17:58:41 | 显示全部楼层
armink 发表于 2017-5-3 21:01
下次也可以试试我新开源的 ARM Cortex-M 错误追踪库,定位更加准确便利:https://github.com/armink/CmBack ...

感谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-21 11:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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