Ⅰ、写在前面

Keil在线调试的内容有很多,本文带来在线调试常用的内容:Debug Toolbar调试工具栏(复位、全速运行、停止运行、单步调试、逐行调试、跳出调试、运行到光标行、跳转到暂停行、调试窗口)快捷按钮的详细内容。

keil中如何监控一个IO点_调试工具

 

Keil工具栏总共有三种:文件工具栏(File Toolbar)、编译工具栏(Build Toolbar)、调试工具栏(Debug Toolbar)。编译工具栏只在编辑模式有效,调试工具栏只在调试模式下有效。文件工具栏在两种模式下都有效。


 

Ⅱ、本文要点

调试工具栏是我们在线调试时常用的工具栏(按钮),掌握这些按钮就能快速的调试代码,也即能快速的定位我们程序哪些地方存在不足。

 

1.编译,进入调试

编辑(或修改)代码之后,我们需要编译代码(F7)查看是否有错误,编译无误后点击调试按钮(Ctrl + F5)进入在线调试。

 

编译,进入调试动画效果:

keil中如何监控一个IO点_动画效果_02

 

2.复位,全速运行,停止运行

keil中如何监控一个IO点_动画效果_03

复位:让程序复位到起点,调试设置恢复到初始状态。这里可以参看文章Keil(MDK-ARM)系列教程(四)_工程目标选项配置(Ⅱ)Debug选项。

 

全速运行(F5):可以让程序运行常看运行状态,也可以在特定位置打断点,让程序运行到特定位置,查看运行状态。

 

停止运行:程序全速运行时(有效),点击该按钮可让程序停止运行。

 

复位,全速运行动画效果:

keil中如何监控一个IO点_调试工具_04

 

3.单步调试

keil中如何监控一个IO点_动画效果_05

单步调试(F11)也就是每点一次按钮,程序运行一步,遇到函数会跳进函数执行。

 

单步调试动画效果:

keil中如何监控一个IO点_调试工具_06

 

4.逐步调试

keil中如何监控一个IO点_keil中如何监控一个IO点_07

逐行调试(F10)也就是每点一次按钮,程序运行一行,遇到函数跳过函数执行。

 

逐步调试动画效果:

keil中如何监控一个IO点_动画效果_08

 

5.跳出调试

keil中如何监控一个IO点_工具栏_09

跳出调试(Ctrl + F11)也就是每点一次按钮,程序跳出当前函数执行,直到跳出最外面的函数(main函数)。

 

跳出调试动画效果:

keil中如何监控一个IO点_keil中如何监控一个IO点_10

 

6.运行到光标行

keil中如何监控一个IO点_调试工具_11

运行到光标处(Ctrl + F10)即将光标放在某一行,点击该按钮(或Ctrl + F11),程序执行到光标的位置就会停止下来(前提是程序能执行到光标的位置)。

 

运行到光标行动画效果:

keil中如何监控一个IO点_调试工具_12

 

7.跳转到暂停行

keil中如何监控一个IO点_keil中如何监控一个IO点_13

这个功能在程序停止运行时有效,主要的作用就是我们打开了很多文件,不知道将程序翻到哪里去了,点击改按钮即可知道我们的程序暂停在那个位置。

 

跳转到暂停行动画效果:

keil中如何监控一个IO点_调试工具_14

 

8.调试窗口

keil中如何监控一个IO点_keil中如何监控一个IO点_15

【调试窗口】是在调试的时候可以查看的窗口,这里有别于平时编辑状态下的窗口。平时编辑时View菜单下面的选项很少,但是进入调试模式,这里就多了很多选项,这些选项就是调试时查看的窗口(见下图)。

keil中如何监控一个IO点_keil中如何监控一个IO点_16

 

下面简述一下常用的调试窗口

 

A.watch查看窗口

Watch查看窗口也就是我们常用于查看变量的窗口。

keil中如何监控一个IO点_调试工具_17

 

B.系统外设窗口

这个窗口用于查看外设寄存器数值的窗口。

keil中如何监控一个IO点_keil中如何监控一个IO点_18

 

Ⅲ、说明

每一种工具的功能都是需要自己亲自实践,并长期使用才能达到灵活运用的地步,不建议死记硬背。

 

以上内容仅供参考,若有不对之处,敬请谅解。