KEIL 断点调试技巧

实际项目中断点调试起了很大作用,Keil的断点调试功能很强大,除了普通的设置断点运行到断点处,还有单步、跳转。除了这些常规的方法,对于一些疑难杂症,常规方法就有点杯水车薪了。下面我总结下我在工作中常用的几种断点调试技巧。

1、断点位置运行次数设置

例如你想控制进入中断的次数,想查看下第50次进入中断发生的现象,单次点击50次不现实,那如下的功能会提供便利。
KEIL 断点调试技巧_第1张图片
KEIL 断点调试技巧_第2张图片KEIL 断点调试技巧_第3张图片

从图中看出第10次进入中断函数时,断点会停在那里(这种方法需要提前设置断点,按图示进入设置项,双击刚才设置的断点,就可以配置count了)。

2、变量匹配(适用于全局变量)

程序代码写多了,变量容易混淆,当你想知道全局变量在哪个地方被读写时,这个功能就用到了(当然尽量别用全局变量,我这里只是举个例子)。
KEIL 断点调试技巧_第4张图片
KEIL 断点调试技巧_第5张图片
KEIL 断点调试技巧_第6张图片

KEIL 断点调试技巧_第7张图片
KEIL 断点调试技巧_第8张图片
KEIL 断点调试技巧_第9张图片

将想要了解的变量写在expression中,我写的是flag2(可以设置读写),当flag2被读写时程序就会停在那里(这个功能不用提前设置断点),变量可设置读写。其中size是所设置变量占用的字节大小, Objects 1 = Bytes 4, flag2是int型,count 可以设置变量第几次被读写然后暂停程序。

3、变量条件匹配(适用于全局变量)

当想让全局变量等于某个固定的数值时程序暂停,这个功能就能用得上了。

KEIL 断点调试技巧_第10张图片
KEIL 断点调试技巧_第11张图片

4、调试串口

用硬件串口在很多方面都会有限制,用仿真串口既不影响程序执行和硬件资源,也不占用程序积时,可以说时明智之举。
KEIL 断点调试技巧_第12张图片
KEIL 断点调试技巧_第13张图片

在command输出了实时断点处信息,类似usart的printf。

你可能感兴趣的:(工具,keil,mdk)