Keil_debug

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

        程序员的工作中调试/debug,修bug,改bug是占比非常重的一部分的,那有什么办法可以让我们更方便,更直观的找到程序代码中的问题所在呢?那这期就来说说keil软件自带的debug。

一、使用步骤

        我们编译,download后方可进入debug(如上图),如果进不去则需要设置如下:

        1、在Debug 选项中勾选Use Simulator,表示使用软件仿真;
        2、设置J-LINK/J-TRACE Cortext;
        3、Run to main()则表示跳过汇编代码,直接跳转到main函数开始仿真;
        4、设置Dialog DLL项目为DARMSTM.DLL和Parameter项目为-pSTM32F103C8的软硬仿真。

           1       2   3    4    5    6                       7              8    9    10             11  

        1:复位

        2:执行到断点处

        3:停止运行

        4:执行一行

        5:结束当前行

        6:跳出当前函数

        7:汇编窗口

        8:堆栈局部变量窗口,可查看局部变量的值的变化

        9:观察窗口,输入想观察的变量或表达式,即可查看其值

        10:查看地址存储数据

        11:可查看引脚的PWM输出方波等。

二.实例bug

                最近遇到一个bug就是 app端配置的数据,待设备断电再上电,该数据不会被保存,而是恢复到默认值0。首先我会考虑到该数组的数据有没有 wirte falsh,能不能read flash,经过上面的方法证明是可以的,那么问题出在哪里呢?

        于是我发现原来是最后一个字节的数据并没有保存到数组中:

 

        但是怎么解决的,看起来很简单,把数组加一个字节不行吗,还真不行,会崩溃。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值