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

server/2024/12/29 23:04:43/

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


文章目录

    • @[TOC](文章目录)
  • 前言
  • 一、BUG复现
  • 二、printf
  • 三、仿真器断点调试
    • 1.清除所有断点
    • 2.进入调试模式
    • 3.打断点,执行
  • 四、参考资料
  • 总结

前言

使用工具:
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排查方式,评论区欢迎讨论。


http://www.ppmy.cn/server/152799.html

相关文章

Python中所有子图标签Legend显示详解

在数据可视化中,图例(legend)是一个非常重要的元素,它能够帮助读者理解图表中不同元素的含义。特别是在使用Python进行可视化时,matplotlib库是一个非常强大的工具,能够轻松创建包含多个子图的图表&#xf…

五分钟学会如何在GitHub上自动化部署个人博客(hugo框架 + stack主题)

上一篇文章: 10分钟学会免费搭建个人博客(Hugo框架 stack主题) 前言 首先,想要实现这个功能的小伙伴需要完成几个前置条件: 有一个GitHub账号安装了git,并可以通过git推送commit到GitHub上完成第一篇文章…

Linux增加回收站功能

功能简介 rm命令是非常危险的命令,为了防止用户误删文件,所以我们在执行rm命令时将文件添加到回收站,防止误删文件。 相关环境变量 名称描述TRASH_DIR 回收站目录,默认为/Recycle_Bin 文件命名规则 文件名生成格式为 原始文件名…

最大转矩电流比(MTPA)

电机最大转矩电流比(Maximum Torque Per Ampere,简称MTPA)是永磁同步电机(PMSM)和异步电机(IM)控制中的一个重要概念,特别是在电机效率和性能优化方面。MTPA是指在一定条件下&#x…

集星云推短视频矩阵系统:重塑短视频营销格局

在瞬息万变的数字化时代,短视频已然成为连接用户与品牌的桥梁,为企业和个人创作者提供了前所未有的营销机遇。然而,面对日益激烈的市场竞争,如何高效、精准地实施短视频营销策略,成为众多企业和创作者面临的重大挑战。…

AES加密解密,vue3中使用AES加密以及解密,vue项目中实现AES加密解密

目录 一、介绍 前端作用 后端作用 二、vue种实现、使用 三、封装 加密、解密 工具方法 一、介绍 AES(Advanced Encryption Standard)加密,即高级加密标准,是一种广泛使用的对称密钥加密算法,用于加密和解密数据。…

使用GPT进行SCI论文润色常用语句

声明:本文仅作为本人记录学习使用。 You are now a professional academic touch-up specialist. Please polish the English draft I am sending you next. After analyzing the paragraph, give suggestions for polishing in terms of sentence structure, gram…

Cornerstone3d 基础概念

基础Cornerstone流程: 获取ImageId。通过Image Loader使用ImageId得到Image Object。通过Rendering Engine使用Image Object渲染到视口Viewports。 ImageId 简介:ImageId是一个URL,用于标识单张图片。 ImageId格式: Image Load…