Keil下Debug随笔
很多时候我们需要通过硬件仿真来调试程序,在仿真时有时候会遇到这样的情况,那就是选择全速运行时,我们的全局变量无法随时更新,而在那设一个断点后发现值是变化的,那么为什么会出现这种情况呢,那就是可能是我们在编译器上没有选择实时更新的这个选项!
解决办法:在Debug模式下,点击菜单栏下的View,在下面有一个Periodic Window update 点一下,选定一下就行了!
还有很多时候,我们会发现有些很难复现,出现一次bug的时候通常重新进入debug模式时,会自动将先前的程序覆盖掉,并且会复位至最先状态,这样很难发现出现bug时整个系统运行的状态,那么在这里介绍一种通过改变编译器配置的方式,不下载程序,不复位然后查看程序运行状态!
第一步将下面两张图中的红框的勾选去掉!

图一

图二
第二步:将下图第一个红框勾选去掉,在第二个红框中选择配置文件,配置文件需自己设置,文件后缀格式为.ini

图三
配置成这样:同时config.ini中的配置为:LOAD %L INCREMENTAL

图四

图五
这样配置好以后就可以直接进MCU看各个寄存器状态了!这样等MCU运行一段时间后进入Debug模式你会发现程序运行指针已经不在
main那了,而是指在程序运行的地方!且放在watch1中查看的全局变量值也会更新至当前的值!

Keil下Debug随笔的更多相关文章
- 如何在Chrome下Debug Mocha的测试
简介 经过前两篇文章的介绍,相信读者对Mocha应该有一定的认知了,本文重点讲述如何在Chrome下Debug Mocha Test, 方便你在测试fail的时候troubleshooting. 关键 ...
- IE下Debug BHO
主要就是修改注册表键值使IE不创建多个进程:HKLM\Software\Microsoft\Internet Explorer\Main - TabProcGrowth 但需要注意的是这种情况下,vs ...
- 在Eclipse下debug 出现Source not found for ...
在Eclipse下debug 出现Source not found for ... 在Eclipse下调试Servlet出现了Source not found for XxxAction.execut ...
- KEIL下分散加载文件的使用(zt)
KEIL下分散加载文件的使用 对于分散加载的概念,在<ARM体系结构与编程>书中第11章有明确介绍. 分散加载文件(即scatter file 后缀为.scf)是一个文本文件,通过编写 ...
- keil下JLINK在线调试仿真设置,SWD连接
keil下JLINK在线调试仿真设置,以下三个步骤搞定: 有时我们编译时会遇到空间不足的情况,首先我们应该把 flash和RAM的size 设置为当前所用芯片的大小,如下我使用了一个片上flash 2 ...
- ST在keil下开发时候文件options配置的一些小技巧
作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:Conscience_Remains 总述 这是之前ST芯片载keil下开发时候总结的一些代码文件options配置小笔记,虽然不是很复杂 ...
- 解决Myeclipse下Debug出现Source not found以及sql server中导入数据报错
前言:在空间里回顾了我的2014,从生活.技术.家庭等各方面对自己进行总结剖析,也是给自己一个交代.也想在博客上专门写一篇2014年度菜鸟的技术路回忆录,但是因为各种事一再耽搁了,现在来写也就更显得不 ...
- contiki在keil下的stm32平台移植
参考博客: http://www.aiuxian.com/article/p-705047.html http://blog.csdn.net/u013232419/article/details/4 ...
- MFC下debug改成release版本出现问题及解决办法
自己在debug下成功运行了自己写的测试自己写第三方库的程序,这里有用到opencv库,所以同时用到了自己的库和opencv的库,需求因为要进行速度的测试,是想要把debug改成release版本,这 ...
随机推荐
- 关于Python的OSError和IOError
参考:http://stackoverflow.com/questions/29347790/difference-between-ioerror-and-oserror 在3.x版本已经移除,剩下O ...
- centos7,Python2.7安装request包
1.安装epel扩展源:“sudo yum install epel-release” 2.安装python-pip:“sudo yum install python-pip” 3.升级pip:“su ...
- 支付宝SDK ios快捷支付
配置PartnerConfig.h的参数 //合作身份者id,以2088开头的16位纯数字 #define PartnerID @"" //收款支付宝账号 #define Sell ...
- 【c++】c++中重载输出操作符,为什么要返回引用
针对:ostream & operator <<(ostream & os, const ClassType &object) 说明几点: 1.第一个形参为对ost ...
- 【c++】多层次继承类对象的构造函数参数的传递方法
#include <iostream.h> //基类CBase class CBase { int a; public: CBase(int na) { a=na; cout<< ...
- Mongodb相对于关系型数据库的优缺点(转)
与关系型数据库相比,MongoDB的优点: ①弱一致性(最终一致),更能保证用户的访问速度: 举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精 ...
- 10-能不能组成m
/* 找数达人 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 小明最近做出了一道题:如何在一组数 ...
- springboot与elasticsearch
1.安装elasticsearch 下载elasticsearch docker pull registry.docker-cn.com/library/elasticsearch 运行elastic ...
- C盘满了如何清理
一.C:\inetpub\logs\LogFiles\ 中的日志文件可以全部删除二.C盘上右键>属性>磁盘清理 和 系统磁盘清理三.百度下载:魔方清理大师>逐项清理四.卸载较大的不常 ...
- Redis数据持久化
持久化选项 Redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照(snapshotting),它可以将存在于某一时刻的所有数据都写入硬盘里面.另一种方法叫只追加文件(append ...