
MDK原文地址:http://www.keil.com/support/man/docs/uv4/uv4_db_dbg_breakpnts.htm 昨天在调试的时候出现了指针错误的现象,今天发帖子询问解决方式,论坛还是有不少高人,; F$ j5 {& \4 r+ \ 本次介绍的是定义数据变化的断点定位 调试的现象就是,如果被定义的变量发生变化,程序就会停在当前定位的区域,对于指针错去操作或者是指针溢出的调试非常有用, 下面介绍用法, j; b+ ?+ G- V9 d* C 1:进入在线调试模式 ! B! ?$ Q+ e1 h4 c* o 2:选择 Debug->breakpoint) j6 Y3 _0 k+ ?+ l: S ![]() 然后就会出现对话框,如下图 ![]() 9 l+ N" T( G$ _0 w$ \! X 3:设置变量以及变化模式,更多的变量设置请参开MDK的官方文档如上文给出的一部分% [% p- K& ?9 p0 m6 |, E$ b 在expression一栏填写入需要跟踪的变量,后面的Access选择读取触发事件或者写入触发事件,或者读写都触发事件,这里由于是需要定位被修改的断点所在,所以这里勾选了写入触发事件,后面的size暂时还没有确定作用所在,填写完成了之后选择 “Define”+ \6 R4 n+ h$ m4 a1 c+ ~( n; \( X7 C 这样就可以了,当这个变量被修改的时候就会停在断点的被修改的地方。. k7 G! }( O) r+ T; A ![]() , T; N; l) [. C; r) o3 ^' R 在这里感谢论坛大佬们的帮助,把这个经验分享出来希望更多的人能够受益。( U* ^7 G9 h4 i |
我测试的是全局变量,没有试局部变量
我也是今天才发现的,论坛的大神提示了一下,我就去试了一下,哈哈感觉很实用
哈哈,谢谢支持