|
MDK原文地址:http://www.keil.com/support/man/docs/uv4/uv4_db_dbg_breakpnts.htm 昨天在调试的时候出现了指针错误的现象,今天发帖子询问解决方式,论坛还是有不少高人, 本次介绍的是定义数据变化的断点定位; s# z n# y9 G( p: v* u 调试的现象就是,如果被定义的变量发生变化,程序就会停在当前定位的区域,对于指针错去操作或者是指针溢出的调试非常有用,- O- n" P6 t$ k; f 下面介绍用法$ Y+ q8 W% G) l) t9 x/ x 1:进入在线调试模式 + V! j# G: d, W- l 2:选择 Debug->breakpoint
7 ^+ m0 o& [/ r+ _ 然后就会出现对话框,如下图
3:设置变量以及变化模式,更多的变量设置请参开MDK的官方文档如上文给出的一部分 在expression一栏填写入需要跟踪的变量,后面的Access选择读取触发事件或者写入触发事件,或者读写都触发事件,这里由于是需要定位被修改的断点所在,所以这里勾选了写入触发事件,后面的size暂时还没有确定作用所在,填写完成了之后选择 “Define” 这样就可以了,当这个变量被修改的时候就会停在断点的被修改的地方。 % Y! i8 i n2 D' b
+ W* j' Y1 w' w7 u. {6 L0 ~3 } 在这里感谢论坛大佬们的帮助,把这个经验分享出来希望更多的人能够受益。1 F5 _6 H- L1 q$ N |
微信公众号
手机版
我测试的是全局变量,没有试局部变量
我也是今天才发现的,论坛的大神提示了一下,我就去试了一下,哈哈感觉很实用
哈哈,谢谢支持