我是靠谱客的博主 义气大象,最近开发中收集的这篇文章主要介绍dev调试查看变量的窗口_Keil系列教程09_调试仿真,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

60f03a556d432bca5fdbe18403d1e201.png

说明:

本文原创作者『strongerHuang

首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop

标签:Keil、 MDK-ARM、 µVision

该教程基于MDK-ARM,大部分内容也适用于Keil其它3款(C51、 C251、 C166)产品。

一、写在前面

调试对于程序员来说是一个比较重要的环节,因此就很有必要掌握Keil的这些调试功能。

点击Debug调试按钮,进入调试状态,就会出现如下图Debug Toolbar调试工具栏

124f4187f040d2d13d4434a89a2a9b99.png

我们调试需要用到的按钮包含上图框出来的这些按钮,但常用的按钮就是调试工具栏前八个:复位、全速运行、停止运行、单步运行、逐步运行、跳出运行、运行到光标行、跳转到暂停行

二、相关描述

这些工具栏按钮的主要含义可以参看《Keil系列教程03_主窗口和工具栏详细说明》。

调试工具栏按钮位于菜单Debug中,同时调试视图窗口位于菜单View。可以参看文章《Keil系列教程04_菜单概述》。

同样,这些调试工具栏按钮可通过快捷键实现,有些默认没有快捷键,可以通过Configuration添加快捷键。请参看文章《Keil系列教程08_Configuration(二)》Shortcut Keys 快捷键章节内容。

下面带领大家掌握那八个调试按钮、四个断点按钮,以及部分调试视图窗口的内容。

三、八个调试按钮

保证代码编译无误,点击“启动/停止调试”按钮(如下图),或快捷键Ctrl + F5,进入调试模式。此时就会出现如文中开头的调试工具栏。

94c8d16afdc8fbf748ab00c7e6214e96.png

3.1 Reset复位

42d3008c26e06ee1a3e970b22eae1583.png

Reset复位,让程序复位到起点,恢复到初始状态。

3.2 Run全速运行

22d188dbe300d824450d5211b5455ca5.png

Run全速运行(F5),让程序处于运行状态。此按钮在程序停止运行时有效。

3.3 Stop停止运行

7a723baa73ac5eb7c0c4bbfed037fd87.png

Stop停止运行,让正在运行的程序停止下来。此按钮在程序运行时有效。

3.4 Step单步运行

30af79a1f562305449e6fa27504a1cb3.png

Step单步运行(F11),每点一次按钮,程序运行一步(单步),遇到函数会跳进函数执行(箭头进入括号)。此按钮在程序停止运行时有效。

3.5 Step Over逐步运行

e6618bdc2d72d034ad492b6e16e56923.png

Step Over逐步运行(F10),每点一次按钮,程序运行一行(单行),遇到函数跳过函数执行(箭头跳过括号)。此按钮在程序停止运行时有效。

3.6 Step Out跳出运行

9f34c9e6b59045104eb61275db7dc0d2.png

Step Out跳出运行(Ctrl + F11),每点一次按钮,程序跳出当前函数执行(箭头跳出括号),直到跳出最外面的函数(main函数)。此按钮在程序停止运行时有效。

3.7 Run to Cursor Line运行到光标行

25a2599abba72046f45e974ff8599015.png

Run to Cursor Line运行到光标行(Ctrl + F10),将光标放在某一行,点击该按钮,程序全速运行,直到运行到光标的位置停止下来。(前提是程序能运行到光标所在行)。

3.8 Show Next Statement跳转到暂停行

ccad8463be7bd3c81c7a4e6bda606c8f.png

Show Next Statement跳转到暂停行,点击该按钮,跳转到程序暂停(停止)所在行。主要用我们打开多个文件,不知道程序暂停在哪里。此按钮在程序停止运行时有效。

四、四个断点按钮

a228e09dadaab08aa86ca21a4c4b7894.png

调试时,这四个按钮也常用,从左到右依次是:插入/移除断点、 使能/失能断点、 失能所有断点、 取消所有断点

4.1 插入/移除断点

Insert/Remove Breakpoint插入/移除断点(F9),点击一下按钮,在光标所在行插入一个断点,再点击一次,则移除断点。

该按钮操作等于用鼠标在代码所在行前面点击一次,注意只有在灰色所在行才有效(也就是程序能执行的地方),如下图:

515e0322ade24032fb0d76879b590308.png

4.2 使能/失能断点

Enable/Disable Breakpoint使能/失能断点(Ctrl + F9),在有断点基础上,点击一下按钮,失能该断点,再点击一次,则使能该断点。

失能断点就是保留该断点,但该断点无效(程序执行到该处不停止)。

4.3 失能所有断点

Disable All Breakpoints失能所有断点,保留所有断点,但都无效(和上面一个道理),但这里不能再次使能所有断点。

4.4 取消所有断点

Kill All Breakpoints取消所有断点(Ctrl + Shift + F9),和上面失能不一样,这里是不保留断点,即取消工程所有断点,也叫杀掉所有断点。

五、调试视图窗口

调试视图窗口只有进入调试模式时才会出现,其窗口名称详情可参看文章《Keil系列教程04_菜单概述》中View菜单章节。

这里讲述几个在调试时常用的视图窗口。

5.1 Watch窗口

Watch查看变量的窗口,有Watch1和Watch2两个窗口,都一样,方便用户多个窗口同时查看。

查看这些调试视图窗口可以通过菜单,或点击工具栏按钮打开。

选中变量 -> 右键 -> Add ‘xxx’ to ->Watch1,此时自动会弹出Watch1窗口:

7b78f5ecf56e7405d5de601fbb541e27.png

5.2 System Viewer窗口

System Viewer系统(外围IO、USART、TIM等)窗口,可以理解查看外设寄存器的窗口,如下图,查看USART寄存器值的窗口。

b9d2ac76ef73a1bee34f18203b944fc2.png

这些调试视图窗口只针对于调试时,方便大家查看一些调试信息,掌握这些内容会提高你的调试效率,以及更精确定位Bug。

六、说明

1.该文档仅供个人学习使用,版权所有,禁止商用。

2.本文由我一个人编辑并整理,难免存在一些错误。

3.为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该教程同步更新于微信公众号『嵌入式专栏』,关注微信公众号回复【Keil系列教程】即可查看全系列教程。

七、最后

我的博客:http://www.strongerhuang.com

我的GitHub:https://github.com/EmbeddedDevelop

我的微信公众号(ID:strongerHuang)还在分享STM8、STM32、Keil、IAR、FreeRTOS、UCOS、RT-Thread、CANOpen、Modbus...等更多精彩内容,如果想查看更多内容,可以关注我的微信公众号『strongerHuang』。

最后

以上就是义气大象为你收集整理的dev调试查看变量的窗口_Keil系列教程09_调试仿真的全部内容,希望文章能够帮你解决dev调试查看变量的窗口_Keil系列教程09_调试仿真所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(31)

评论列表共有 0 条评论

立即
投稿
返回
顶部