学C的第十九天【实用调试技巧:1. 调试;2. Windows环境调试介绍;3. 一些调试的实例;4. 一些调试的实例】-1

简介: 1. 调试 (1). 调试是什么? 调试(Debugging / Debug),又称出错,是发现和减少计算机程序或电子仪器设备中程序错误的一个过程(一系列动作)。

1. 调试

                   

(1). 调试是什么?

调试Debugging / Debug),又称出错,是发现减少计算机程序电子仪器设备程序错误一个过程一系列动作

(2). 调试的基本步骤

                     

  • 发现程序错误存在
  • 隔离消除等方式错误进行定位
  • 确定错误产生原因
  • 提出纠正错误解决办法
  • 程序错误予以改正重新测试

(3). Debug 和 Release 的介绍

                         

Debug:通常称为调试版本

                   

包含调试信息,并且不作任何优化便于程序员调试程序

(代码演示:)

#include <stdio.h>
int main()
{
  int arr[10] = { 0 };
  int i = 0;
  //循环赋值
  for (i = 0; i < 10; i++)
  {
    arr[i] = 10 - i;
  }
  //循环打印
  for (i = 0; i < 10; i++)
  {
    printf("%d ", arr[i]);
  }
  return 0;
}

3d4a90cfd06f4fa28d25d06cd61038ba.png

Release:通常称为发布版本

                 

它往往是进行了各种优化,使得程序在代码大小运行速度上都是最优的,以便用户更好地使用。

               

#include <stdio.h>
int main()
{
  int arr[10] = { 0 };
  int i = 0;
  //循环赋值
  for (i = 0; i < 10; i++)
  {
    arr[i] = 10 - i;
  }
  //循环打印
  for (i = 0; i < 10; i++)
  {
    printf("%d ", arr[i]);
  }
  return 0;
}

727e837434354ab18a1d9aa1c42c28d1.png

Debug版本文件 和 Release版本文件 的大小对比

7c3d6648d0c741ef9bf3b517239aa4e6.png

2. Windows环境调试介绍

                 

(注:linux开发环境调试工具gdb

                   

(1). 调试环境的准备

在环境中选择 Debug选项 ,才能使代码正常调试

af14dbec7b144def938a6621921a6561.png

(2). 学会快捷键


73e0f2485f9444ec8ed1386f650e714b.png

F5

启动调试,经常用来直接跳到下一个断点处

F9

创建断点取消断点

断点重要作用,可以在程序的任意位置设置断点

这样就可以使得程序在想要的位置随意停止执行,进而一步步执行下去

                 

条件断点:)

image.png

F10

逐过程,通常用来处理一个过程一个过程可以是一次函数调用,或者一条语句

                   

F11

逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们的执行逻辑进入函数内部最常用,比F10更加细致,会进入函数观察函数执行的过程)。

CRRl + F5

开始执行不调试,如果你想让程序直接运行起来而不调试就可以直接使用。

(3). 调试的时候查看程序当前信息

               

查看临时变量的值(监视)                            

在调试开始之后,用于观察变量的值

3f8aa5a5ad6a4f91b21b5a952fcafd14.png

查看内存信息(内存)

在调试开始之后,用于观察内存信息

189e2077ad5e4e34ae2f6601221d2388.png

相关文章
|
9月前
|
人工智能 测试技术 API
谁说 WebSocket 调试难?Windows 上的“秘密武器”都在这儿,速占先机
从 Apifox 这样集大成者,到 Websocat 这样专注于命令行极致体验的工具,再到 WebSocket King 的开源灵活,以及 Postman 的广泛适用性和 WebSocket.org Toolkit 的即时性,它们共同构成了 WebSocket 开发生态的重要支撑。
|
XML 存储 搜索推荐
Omnissa Dynamic Environment Manager 2503 - 个性化动态 Windows 桌面环境管理
Omnissa Dynamic Environment Manager 2503 - 个性化动态 Windows 桌面环境管理
225 7
Omnissa Dynamic Environment Manager 2503 - 个性化动态 Windows 桌面环境管理
|
Ubuntu 数据库 虚拟化
Windows 环境下 Odoo 安装保姆级教程
本教程详细介绍了在 Windows 系统上通过虚拟机部署 Odoo 的完整流程。首先确认硬件需求,确保 CPU、内存和磁盘空间满足最低配置;接着安装 VMware Workstation Pro 并创建 Ubuntu 虚拟机,配置桥接网络以实现主机与虚拟机的通信;随后借助微聚云快速安装预配置好的 Odoo 环境,简化复杂环境搭建;最后通过浏览器访问虚拟机 IP,完成 Odoo 数据库初始化及基础设置。整个过程清晰易懂,适合新手快速上手 Odoo 部署。
1672 4
|
存储 运维 监控
提升Windows Server环境安全性:ADAudit Plus的五大关键优势
在Windows Server环境中,内置的安全审计工具虽有用,但存在专业门槛高、耗时及功能缺失等问题。第三方工具ADAudit Plus应运而生,其五大优势包括:日志聚合、关键活动检测、定制化报告、灵活安全配置和长期日志保留,有效提升系统监控与合规能力。选择ADAudit Plus,助力企业更高效应对审计挑战,强化安全性。
336 2
|
弹性计算 开发框架 安全
基于云效 Windows 构建环境和 Nuget 制品仓库进行 .Net 应用开发
本文将基于云效 Flow 流水线 Windows 构建环境和云效 Packages Nuget 制品仓库手把手教你如何开发并部署一个 .NET 应用,从环境搭建到实战应用发布的详细教程,帮助你掌握 .NET 开发的核心技能。
|
应用服务中间件 Shell PHP
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
|
Oracle 关系型数据库 MySQL
Mysql(1)—简介及Windows环境下载安装
MySQL 是一个流行的关系型数据库管理系统(RDBMS),基于 SQL 进行操作。它由瑞典 MySQL AB 公司开发,后被 Sun Microsystems 收购,现为 Oracle 产品。MySQL 是最广泛使用的开源数据库之一,适用于 Web 应用程序、数据仓库和企业应用。
326 2
|
SQL JavaScript 数据库
sqlite在Windows环境下安装、使用、node.js连接
sqlite在Windows环境下安装、使用、node.js连接
|
数据可视化 程序员 C#
C#中windows应用窗体程序的输入输出方法实例
C#中windows应用窗体程序的输入输出方法实例
410 0
|
Windows
Windows系统环境编写DOS批处理文件
Windows系统环境编写DOS批处理文件
249 0