MDK原文地址:http://www.keil.com/support/man/docs/uv4/uv4_db_dbg_breakpnts.htm 昨天在调试的时候出现了指针错误的现象,今天发帖子询问解决方式,论坛还是有不少高人,3 l/ ?. a0 O5 B/ [0 l 本次介绍的是定义数据变化的断点定位 调试的现象就是,如果被定义的变量发生变化,程序就会停在当前定位的区域,对于指针错去操作或者是指针溢出的调试非常有用,, Z' `; t% \( r& |5 n# l& {0 P 下面介绍用法 1:进入在线调试模式( M+ M% p+ h9 S I5 ~ * F1 z, o- u- e4 B2 e/ a, F 2:选择 Debug->breakpoint# |# r% u! m" I0 C* s 然后就会出现对话框,如下图 H# ?7 c4 W" s( W8 a5 O 3:设置变量以及变化模式,更多的变量设置请参开MDK的官方文档如上文给出的一部分 在expression一栏填写入需要跟踪的变量,后面的Access选择读取触发事件或者写入触发事件,或者读写都触发事件,这里由于是需要定位被修改的断点所在,所以这里勾选了写入触发事件,后面的size暂时还没有确定作用所在,填写完成了之后选择 “Define”% p2 i$ O, z2 @: ]# s u 这样就可以了,当这个变量被修改的时候就会停在断点的被修改的地方。/ k; K. N' m. Y$ Q( c: l 在这里感谢论坛大佬们的帮助,把这个经验分享出来希望更多的人能够受益。7 W6 Z; @3 k* G' ]( A7 r. u8 v |
我测试的是全局变量,没有试局部变量
我也是今天才发现的,论坛的大神提示了一下,我就去试了一下,哈哈感觉很实用
哈哈,谢谢支持