MDK原文地址:http://www.keil.com/support/man/docs/uv4/uv4_db_dbg_breakpnts.htm, u# p/ k6 z1 a 昨天在调试的时候出现了指针错误的现象,今天发帖子询问解决方式,论坛还是有不少高人, 本次介绍的是定义数据变化的断点定位( Z9 ~. r9 P( Y 调试的现象就是,如果被定义的变量发生变化,程序就会停在当前定位的区域,对于指针错去操作或者是指针溢出的调试非常有用,8 J9 U6 P) m6 K* i A 下面介绍用法1 o" T/ I! G- J; k 1:进入在线调试模式0 U, d) R: J2 ? 2:选择 Debug->breakpoint+ H5 `1 ~- i1 f N6 P6 Q 7 k. S. m% j8 f 然后就会出现对话框,如下图 3:设置变量以及变化模式,更多的变量设置请参开MDK的官方文档如上文给出的一部分 在expression一栏填写入需要跟踪的变量,后面的Access选择读取触发事件或者写入触发事件,或者读写都触发事件,这里由于是需要定位被修改的断点所在,所以这里勾选了写入触发事件,后面的size暂时还没有确定作用所在,填写完成了之后选择 “Define”3 r6 |1 e" F+ Y y$ n7 a 这样就可以了,当这个变量被修改的时候就会停在断点的被修改的地方。2 ^' ^' g5 d" i 在这里感谢论坛大佬们的帮助,把这个经验分享出来希望更多的人能够受益。$ }+ G* u: A6 f$ T' F |
我测试的是全局变量,没有试局部变量
我也是今天才发现的,论坛的大神提示了一下,我就去试了一下,哈哈感觉很实用
哈哈,谢谢支持