历史上的今天
今天是:2024年12月12日(星期四)
2018年12月12日 | keil利用Breakpoints追踪内存值异常修改分析说明
2018-12-12 来源:eefocus
在开发过程中,经常会遇到内存值被异常篡改的情况。而且,篡改者往往并不是你当前所正在进行调试的部分(即内存异常篡改其实早就存在,只不过现在才凸显出来),这样问题很难跟踪,故利用keil的这一特性,追踪问题。
以下项目举例说明
1. 用电设备,A相电压偏差极值显示63.25%,而此时额定电压为220v,A相单相上电,偏差值不应有这么大偏差值计算公式为:
ΔU = ((U - Un) / Un) * 100%;
式中:△U--电压偏差百分比;U一实际电压:Un电网标称电压。
2. 观察ac_data_memory中相应数据显示确实为这么大,考虑数据调试过程中异常,故对到下一日,对时后,数据变为0,1分钟后变为60+%(其实是有做统计数据,但此时并未往这方面想)。
3. 经过2的分析后,确定一定是有某个地方对这块内存操作了,故使用推荐方法跟踪是哪个地方在操作内存。
4. 查看内存地址:

5. 添加此内存地址(0x20017B27)到Breakpoints,Debug->Breakpoints,如:

6. 添加步骤如下图:

7. 全速运行,当访问者修改这片内存时,程序会中断,这时断点的位置就时访问者。如:

8. 问题定位。
注意事项
使用中并不能100%命中,不能过分依赖。
史海拾趣
|
小弟请教一下hotkey driver 工作原理,比如thinkpad hotkey driver ,他的工作原理是什么?是EC发送出来的数据吗?为什么能感应到FN+FX的键值呢,我做了一个键盘过滤驱动程序,在笔记本上安装后,可是还是抓不到FN+FX的键值,是不是FN+FX根本就 ...… 查看全部问答> |
|
请教:与pc进行无线通信的数据采集(数据达到10Mbps)系统的设计思路? 想实现嵌入式系统和上位机的无线通信,即要通过无线网卡模块,再通过无线路由器和上位机进行通信。 我的这个无线网卡模块是想要支持wifi协议的。 电脑通过无线方式控制我的这个数据采集系统,同时我的数据采集系统也要连续不断的把采集到的数据 ...… 查看全部问答> |
|
uboot移植不进开发板(OMAP核的),不知是不是JTAG除了什么问题? 下面是报错详情: Error connecting to the target: Error 0x80000240/-180 Fatal Error during: Initialization, OCS, This error was generated by TI\'s USCIF driver. ...… 查看全部问答> |
|
RT 是一个使用wave***API 录音的程序 [code] D:\\WORK\\EVC_Projects\\EVC RecordHWnd\\RecordHWndDlg.cpp(543) : error C2440: \'=\' : cannot convert from \'unsigned short *\' to \'char *\' 这个错误怎么 ...… 查看全部问答> |
|
信号采集和回放的模块化设计成为现代数字信号处理系统实现的一个趋势,随着集成电路工艺水平的不断发展,现场可编程门阵列芯片(EPGA)和数字信号处理芯片(DSP)性能不断提高,为系统的模块化设计提供了器件保证。本文结合某雷达干扰机的高速数据采集 ...… 查看全部问答> |
|
DSP是采用28335,外部总线XINTF的地址是0x4000开始,外部总线上面有设备(CPLD)的时候,DSP程序采用断点调试,观察memory的地址0x4000区域数据,自己想改变的地方的数据没有变化,反而其他的数据在来回不断的变化,只要程序执行一条语句,有点地址 ...… 查看全部问答> |




