如何学会keil深度调试DEBUG功能

ops/2024/9/24 6:45:14/

首先基本的断点调试、WATCH窗口查看这些都是家常便饭我就不说了,可以参考链接

【工具使用】Keil5软件使用-进阶调试篇_keil5 软件使用 进阶调试篇-CSDN博客

下面主要介绍一下一些其他调试窗口:

目录

内存查看窗口

系统视窗——System Viewer Windows

调度关系窗口——Call Stack Window

寄存器窗口——Register Window

命令窗口——Command Window

函数地址表——Symbols Window

虚拟串口调试窗口——Serial Windows

逻辑分析窗口——Analysis Windows

跟踪窗口——Trace Windows

最常见错误就是死机了,HardFault(硬件错误)

复位问题:

逻辑时序类调试


内存查看窗口

找到Memory1/2/3/4

在Memory窗口中输入想要查看内存的起始地址,另外右上角的锁可以把当前界面锁定下来

另外如果查看的是Ram的地址,那其中的数据也可以直接通过此窗口进行修改

系统视窗——System Viewer Windows

调度关系窗口——Call Stack Window

个窗口用于查看当前程序调度关系,当出现有进入硬件错误异常调试时可以快速定位到是哪里触发的异常。这个窗口是的调度关系是从当前程序堆栈里获取的数据并将其图形化,所以如果当前堆栈数据被破坏,则此窗口也将无法查看调度关系。
    该窗口里显示的调度关系是从下至上调用的,最上面的表示当前程序所处的函数。展开对应的函数,可以查看各层调用函数跳转之前保存的一些临时变量等信息

寄存器窗口——Register Window

这个窗口用于查看当前内核的相关寄存器,如汇编里常说的15个通用寄存器。当然调试中比较常用的是其中的SP、LR、PC三个寄存器。SP为当前栈的地址位置,PC为当前程序地址,LR为函数跳转前的地址,即当前函数返回的地址

另外"Banked"中的MSP为当前程序系统主栈,PSP则为操作系统的任务栈,这两者的区别是,如果使用了操作系统,则当前任务中的


http://www.ppmy.cn/ops/93406.html

相关文章

1688 API 接口:电商系统的纽带

标题含义: 该标题将 1688 API 接口比喻为电商系统的纽带,强调了其在整合和连接电商系统各个组成部分中的关键作用,突出了其重要的连接和关联功能。 可能的内容方向: 详细解析API 接口如何像纽带一样,将电商系统中的不…

编程-设计模式 12:代理模式

设计模式 12:代理模式 定义与目的 定义:代理模式提供一个代理对象来控制对一个对象的访问。代理对象通常拥有与实际对象相同的接口,使得客户端代码可以透明地使用代理对象。目的:该模式的主要目的是控制对一个对象的访问&#x…

微信小程序实战教程-1:京西购物商城实战

文章目录 1、起步1.1 uni-app简介1.2 开发工具1.2.1 下载HBuilderX1.2.2 安装HBuilderX1.2.3 安装scss/sass编译1.2.4 快捷键方案切换1.3 创建uni-app项目1.4 目录结构1.5 把项目运行到微信开发者工具1.6 使用Git管理项目1.6.1 本地管理1.6.2 把项目托管到码云1、起步 1.1 uni…

patroni+etcd开启SSL认证(三个节点证书一致 使用openssl命令)

瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:Linux x86-64 Red Hat Enterprise Linux 7 版本:14 文档用途 本文主要介绍Patroni架构中如何开启etcd的ssl证书认证。 详细信息 一、前提说明 patroni版本:3.0.2 etcd版本&#x…

【WebRTC指南】TURN 服务器

TURN 服务器 对于大多数 WebRTC 应用,客户端之间中继流量时需要使用服务器,因为在客户端之间通常无法实现直接套接字(除非这些客户端位于同一本地网络)。解决此问题的常用方法是使用 TURN 服务器。该术语代表在 NAT 中使用中继的遍历,是一种用于中继网络流量的协议。 目…

18. 基于ES实战海量数据检索

18. 基于ES实战海量数据检索 一. 概述二. Elasticsearch 全文检索1. 分布式搜索引擎2. 搜索引擎种类3. 倒排索引三. elastic使用1. 官网介绍2. docker安装3. elasticsearch-head工具*********************************************************一. 概述 二. Elasticsearch 全文…

oracle 判断某个字段包含某几个字符like或INSTR

在Oracle数据库中,如果你想判断某个字段是否包含某几个字符(字符序列),你可以使用LIKE操作符或者INSTR函数。选择哪一个取决于你的具体需求,比如是否需要对位置敏感或者是否需要在模式匹配中使用通配符。 使用LIKE操作…

电话机器人能提升销售效率

经济敏捷发展的当天,任何行业都不离开市场,无法让更多人理解本人企业本人的产物。那样的话,像电话营销那样抢手的行业也面临很大的困难,员工不仅工作压力大,工作时间长,呼叫量多,还能忍受顾客的…