
MDK原文地址:http://www.keil.com/support/man/docs/uv4/uv4_db_dbg_breakpnts.htm 昨天在调试的时候出现了指针错误的现象,今天发帖子询问解决方式,论坛还是有不少高人, 本次介绍的是定义数据变化的断点定位( m1 Q1 A) B9 W9 K+ y 调试的现象就是,如果被定义的变量发生变化,程序就会停在当前定位的区域,对于指针错去操作或者是指针溢出的调试非常有用,/ I1 L, j+ |% Q6 b 下面介绍用法. K7 u/ g- `+ ] 1:进入在线调试模式8 ^4 u! n- C1 B! T2 |# D 2:选择 Debug->breakpoint ![]() 然后就会出现对话框,如下图 ![]() 3:设置变量以及变化模式,更多的变量设置请参开MDK的官方文档如上文给出的一部分 在expression一栏填写入需要跟踪的变量,后面的Access选择读取触发事件或者写入触发事件,或者读写都触发事件,这里由于是需要定位被修改的断点所在,所以这里勾选了写入触发事件,后面的size暂时还没有确定作用所在,填写完成了之后选择 “Define”& q7 N- @) ?, ^" z; [3 e' \ 这样就可以了,当这个变量被修改的时候就会停在断点的被修改的地方。 ![]() " E* |0 L1 n) k) j 在这里感谢论坛大佬们的帮助,把这个经验分享出来希望更多的人能够受益。 |
我测试的是全局变量,没有试局部变量
我也是今天才发现的,论坛的大神提示了一下,我就去试了一下,哈哈感觉很实用
哈哈,谢谢支持