专栏中心

EEPW首页 > 专栏 > 程序调试(除错)过程中的一些雕虫小技(五、给程序安装个黑匣子)

程序调试(除错)过程中的一些雕虫小技(五、给程序安装个黑匣子)

发布人:mayer 时间:2009-08-18 来源:工程师 发布文章
程序调试(除错)过程中的一些雕虫小技(五、给程序安装个黑匣子)

 

程序调试(除错)过程中的一些雕虫小技(五、给程序安装个黑匣子)

某年某月的某一天,一架飞机以优美的抛物线形状,一头栽到海里去了……几天后,人们找到了飞机的黑匣子,里面记录了飞行员的最后一句话:“天呐,我看到火星人了!……”

以上空难情节我们经常会通过新闻看到吧(当然,最后一句是匠人版的科幻情节)。看看,飞机的黑匣子可以记录并再现现场,多么神奇!欧耶!

我们在调试程序时,也可以借鉴这个方法,给程序按装一个黑匣子。程序中的黑匣子其实就是一个在内存中开辟的队列。队列的原理我们很清楚,先进先出,后进后出(与飞机黑匣子的特性相同)。

比如说吧,假设我们的系统在工作中,某个输入量的采样值经常受到不明原因的扰动。我们要摸清这种扰动的规律,以便对症下药。但是这种扰动稍纵即逝。

我们的困扰是:程序正常运行时看不出规律,单步走又难以捕捉扰动。怎么办?

有没有办法,把扰动记录下来?

当然可以。

我们可以利用系统里剩余的RAM,开辟一块单元,做成队列。并写段测试程序,定时把新采样值压入队列。

然后我们让程序运行,在需要的(任意)时刻,让程序停下来。这时,队列里记录的就是最新一批采样数据。

只要队列的深度足够大,我们就可以找出扰动的规律来。

——什么,你问我什么叫队列?
——匠人曰“天呐,我看到火星人了!……”

(未完待续……)

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

PROTEL技术大全2

资源下载 2007-02-09

protel技术大全

资源下载 2007-02-09

香港科技大学与英特尔共建联合实验室,聚焦高能效智能计算

2025年,全球平板出货量增长10%,市场增速接近放缓

protel技术大全1

资源下载 2007-02-09

富士通半导体 MB95260系列“Easy-Kit”演示

视频 2010-08-17

iQOO 15 Ultra搭载第五代骁龙8至尊版打造性能Ultra

英飞凌发布2026财年第一季度运营成果: 2026财年顺利开局

Protel的应用

资源下载 2007-02-09

深度解读 | 索尼与TCL的战略合作布局

Mathcad在6西格玛方面的应用

视频 2010-08-17

AMD推出第二代Kintex UltraScale+中端FPGA,助力智能高性能系统

Mathcad基本功能演示(101 demo)

视频 2010-08-17

南芯科技发布高性能全桥驱动芯片,驾驭汽车智能驱动未来

2010英特尔杯大学生电子设计竞赛(8)

视频 2010-07-30

Bourns 推出多款方形封装空心电感系列: 具备高 Q 值与高自谐振频率,满足高频应用需求

2010英特尔杯大学生电子设计竞赛(9)

视频 2010-07-30

尼得科电机(大连)在智能・安全・绿色・创新领域斩获多项发展成果

2025年第三季度,海底光电子市场增长32.5%,PTC’26彰显向网状网络架构转型趋势

更多 培训课堂
更多 焦点
更多 视频

技术专区