Keil(MDK-ARM)系列教程(八)_在线调试(Ⅰ)
推荐
分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang
我的网站:https://www.strongerhuang.com
我的知乎:https://www.zhihu.com/people/strongerHuang.com
Ⅰ、写在前面
Keil在线调试的内容有很多,本文带来在线调试常用的内容:Debug Toolbar调试工具栏(复位、全速运行、停止运行、单步调试、逐行调试、跳出调试、运行到光标行、跳转到暂停行、调试窗口)快捷按钮的详细内容。
Keil工具栏总共有三种:文件工具栏(File Toolbar)、编译工具栏(Build Toolbar)、调试工具栏(Debug Toolbar)。编译工具栏只在编辑模式有效,调试工具栏只在调试模式下有效。文件工具栏在两种模式下都有效。
文件工具栏可以参看文章:Keil(MDK-ARM)系列教程(二)_工具栏详细说明.
本文内容已经整理成PDF文件,提供给大家下载:
http://pan.baidu.com/s/1nuJ0RDR
Ⅱ、本文要点
调试工具栏是我们在线调试时常用的工具栏(按钮),掌握这些按钮就能快速的调试代码,也即能快速的定位我们程序哪些地方存在不足。
1.编译,进入调试
编辑(或修改)代码之后,我们需要编译代码(F7)查看是否有错误,编译无误后点击调试按钮(Ctrl + F5)进入在线调试。
编译,进入调试动画效果:
2.复位,全速运行,停止运行
复位:让程序复位到起点,调试设置恢复到初始状态。这里可以参看文章Keil(MDK-ARM)系列教程(四)_工程目标选项配置(Ⅱ)Debug选项。
全速运行(F5):可以让程序运行常看运行状态,也可以在特定位置打断点,让程序运行到特定位置,查看运行状态。
停止运行:程序全速运行时(有效),点击该按钮可让程序停止运行。
复位,全速运行动画效果:
3.单步调试
单步调试(F11)也就是每点一次按钮,程序运行一步,遇到函数会跳进函数执行。
单步调试动画效果:
4.逐步调试
逐行调试(F10)也就是每点一次按钮,程序运行一行,遇到函数跳过函数执行。
逐步调试动画效果:
5.跳出调试
跳出调试(Ctrl + F11)也就是每点一次按钮,程序跳出当前函数执行,直到跳出最外面的函数(main函数)。
跳出调试动画效果:
6.运行到光标行
运行到光标处(Ctrl + F10)即将光标放在某一行,点击该按钮(或Ctrl + F11),程序执行到光标的位置就会停止下来(前提是程序能执行到光标的位置)。
运行到光标行动画效果:
7.跳转到暂停行
这个功能在程序停止运行时有效,主要的作用就是我们打开了很多文件,不知道将程序翻到哪里去了,点击改按钮即可知道我们的程序暂停在那个位置。
跳转到暂停行动画效果:
8.调试窗口
【调试窗口】是在调试的时候可以查看的窗口,这里有别于平时编辑状态下的窗口。平时编辑时View菜单下面的选项很少,但是进入调试模式,这里就多了很多选项,这些选项就是调试时查看的窗口(见下图)。
下面简述一下常用的调试窗口:
A.watch查看窗口
Watch查看窗口也就是我们常用于查看变量的窗口。
B.系统外设窗口
这个窗口用于查看外设寄存器数值的窗口。
Ⅲ、说明
每一种工具的功能都是需要自己亲自实践,并长期使用才能达到灵活运用的地步,不建议死记硬背。若要了解更多关于Keil的使用教程,可以进入我微信公众号或博客查看。
以上内容仅供参考,若有不对之处,敬请谅解。
Ⅳ、最后
我的博客:http://blog.csdn.net/ybhuangfugui
微信公众号:EmbeddDeveloper
本着免费分享的原则,方便大家业余利用手机学习知识,定期在微信公众号分享相关知识。如果觉得文章的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,将有更多精彩内容等着你。
Keil(MDK-ARM)系列教程(八)_在线调试(Ⅰ)相关推荐
- IAR for ARM系列教程(四)_菜单(Ⅱ)
推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang Ⅰ.写在前面 ...
- IAR for ARM系列教程(三)_菜单(Ⅰ)
推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!https://www.cnblogs.com/captainbed/p/10422197. ...
- Keil MDK STM32系列(九) 基于HAL和FatFs的FAT格式SD卡TF卡读写
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- PVE系列教程(八)、安装OpenWRT软路由
PVE系列教程(八).安装OpenWRT软路由 为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客http://www.huerpu.cc:7000/ 本教程固件下载地址:http://nas.he ...
- SpringBoot 系列教程(八十五):Spring Boot使用MD5加盐验签Api接口之前后端分离架构设计
加密算法参考: 浅谈常见的七种加密算法及实现 加密算法参考: 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用 目的: 通过对API接口请求报文签名,后端进行验签处理, ...
- IAR for ARM系列教程(二)_主窗口与工具栏的描述
推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang 我的网站:h ...
- keil MDK 新建项目教程
前言 由于好长一段时间没有用keil mdk 软件开发mcu软件了,最近在利用零闲时间来开发个低成本的平衡小车,一开始考虑采用esp32当做主控,测试发现,esp32没有正交编码接口,无法对直流有刷电 ...
- ClickHouse系列教程八:从一个服务器导入4T数据到另外一个服务器
ClickHouse系列教程: ClickHouse系列教程 遇到了一个问题,就是如何把数据从一个服务器导入到另外一个服务器. 最初的想法是把数据都导出到CSV文件,然后再从CSV文件导入,做法如下: ...
- ASP.NET Core Web Razor Pages系列教程八: 添加验证
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- Redis系列教程(八):分布式锁的由来、及Redis分布式锁的实现详解
在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务.分布式锁等.那具体什么是分布式锁,分布式锁应用在哪些业务场景.如何来实现分布式锁呢?今天来探讨分布式锁这个话题. ...
最新文章
- 【Git报错】 ! [rejected] master - master (fetch first)
- 大数据的“近因偏差”烦恼
- python正则匹配_python 正则表达式详解
- Spring Cloud:connect time out
- python 示例_Python日历类| yeardayscalendar()方法与示例
- 网络系统服务器子系统,网管系统中服务器及网络设备监控子系统的设计与实现...
- 活跃用户数怎么计算_【数据运营】|如何做好活跃用户的运营?
- java的网络功能与编程_Java的网络功能与编程(转载)
- python中字符串:声明、编码、函数、格式化
- React.js组件化开发第一步(框架搭建)
- 解决有效时间的字段的知识查询
- 【个人笔记】OpenCV4 C++ 快速入门 06课
- (22)Linux下解压unrar文件
- 获取网络时间(国家标准时间)
- word公式常用字体
- ROS双线做法(双电信)
- Orcad Capture CIS出BOM表
- 基于C++的钻石金字塔问题算法设计
- python大数据运维常用脚本_python大数据运维
- 全渠道会员通-天猫会员通2: 常见问题
热门文章
- 解决No converter for [class java.util.ArrayList] with preset Content-Type ‘null‘问题
- matlab里如何输入圆周,如何在MATLAB中打印小圆圈?
- 论文阅读笔记:Retinal blood vessel segmentation using fully convolutional network with transfer learning
- 视听说教程(第三版)4 quiz 8
- visio使用小知识
- 电脑虚拟摄像头 -obs及obs虚拟摄像头插件(免费)
- 对于java的初步认识
- 计算机微课课件评比活动总结,优质课评比活动总结
- TX2刷机与相关软件安装
- 【java并发编程实践】源码