【C语言】代码BUG排查方式

【C语言】代码BUG排查方式 @TOC 前言 使用工具: 1.ARM仿真器/J-OBV2仿真器 提示:以下是本篇文章正文内容,下面案例可供参考 一、BUG复现 当测试工程师或客户输入BUG后,核对代码版本,核对测试LOG,有问题可以多复现,确保百分百复现问题 二、printf 代码执行路径,编译一次,可以看出代码都在哪里执行 三、仿真器断点调试 DEBUG断点 1.清除所有断点 2.进入调试模式 在调试模式中,黄色标志表示代码执行位置,现在在时钟初始化,没有继续往下运行 因此在while1中的串口打印也就没有执行,数据无法收发 3.打断点,执行 断点打在58行,代码执行到58行,无法执行59行,无法打印数据 断点打在59行,代码执行到59行,打印一次数据后停止 打红色圆点表示断点, 黄色标志表示代码执行到此处 蓝色标志表示查阅代码到此处 四、参考资料 KEIL仿真时使用printf函数打印调试信息 【Keil编译后查看ram和flash大小及占比】 keil 下如何使用printf printf()输出格式详解(Keil C51 、标准C) Keil(MDK-ARM)系列教程(八)_在线调试(Ⅰ) STM32F*/GD32F*在线调试打断点出现 BP could not be set....Probably too many Breakpoints defined?解决办法 “Error: Encountered an improper argument”的解决方法 keil的debug功能 总结 本文仅仅简单介绍了【C语言】代码BUG排查方式,评论区欢迎讨论。

Mar 28, 2025 - 09:17
 0
【C语言】代码BUG排查方式

【C语言】代码BUG排查方式

@TOC

前言

使用工具:
1.ARM仿真器/J-OBV2仿真器

提示:以下是本篇文章正文内容,下面案例可供参考

一、BUG复现

当测试工程师或客户输入BUG后,核对代码版本,核对测试LOG,有问题可以多复现,确保百分百复现问题

二、printf

代码执行路径,编译一次,可以看出代码都在哪里执行

三、仿真器断点调试

DEBUG断点

1.清除所有断点

在这里插入图片描述

2.进入调试模式

在调试模式中,黄色标志表示代码执行位置,现在在时钟初始化,没有继续往下运行
因此在while1中的串口打印也就没有执行,数据无法收发
在这里插入图片描述

3.打断点,执行

断点打在58行,代码执行到58行,无法执行59行,无法打印数据
在这里插入图片描述
断点打在59行,代码执行到59行,打印一次数据后停止
在这里插入图片描述
打红色圆点表示断点,
黄色标志表示代码执行到此处
蓝色标志表示查阅代码到此处

四、参考资料

KEIL仿真时使用printf函数打印调试信息
【Keil编译后查看ram和flash大小及占比】
keil 下如何使用printf
printf()输出格式详解(Keil C51 、标准C)
Keil(MDK-ARM)系列教程(八)_在线调试(Ⅰ)
STM32F*/GD32F*在线调试打断点出现 BP could not be set....Probably too many Breakpoints defined?解决办法
“Error: Encountered an improper argument”的解决方法
keil的debug功能

总结

本文仅仅简单介绍了【C语言】代码BUG排查方式,评论区欢迎讨论。