当前位置: 首页 > news >正文

代码调试:VS调试实操

1.什么是BUG?

BUG原意是“虫子”,在计算机领域是指未被发现的错误,又叫程序漏洞

2.什么是调试?

当你在写完代码时需要去找代码中的问题,这个过程就叫调试

我们必须承认有这个问题并且去修复问题,可以透过逐个调试或者是隔离和屏蔽代码

3.debug和release

debug为测试版本,没有任何优化,仅供程序员调试

release为可发行版本,当程序员写好代码且反复测试符合用户需求之后将程序交给用户的就是release的版本

4.调试快捷键

F5:调试键,会直接跳到断点处,通常搭配F9使用

F9:断点和取消断点键,需要测试到哪个部分就在那个部分的结尾设置断点

条件断点:当符合断点条件时才触发断点

F10:逐行调试,但不进入函数内部

F11:逐行调试,可以进入函数内部

ctri+F5:运行键,不调试代码直接运行

5.监视与内存

监视:

操作为 调试 窗口 监视(记得要先按F10)

内存:

操作为 调试 窗口 内存(也要按F10)

6.调试实操

实验代码1
int main()
{
	int a = 0;
	scanf_s("%d", &a);
	int b = 1;
	int ret = 1;
	for (b = 1; b <= a; b++)
	{
		ret *= b;
	}
	printf("%d", ret);
	return 0;
}

我们先打开监视

输入 b 和 ret

输入任意数字

输入完后看看是不是预期的值,输入完为120

输入正确,调试结束

实验代码2
int main()
{
	int i = 0;
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	for (i = 0; i <= 12; i++)
	{
		arr[i] = 0;
		printf("hehe\n");
	}
	return 0;
}

这段代码会因为越界访问导致死循环

7.编程常见错误

1.编译错误

代码的某个部分的语法错误导致报错

2.链接错误

代码有遗漏出例如:未包含头文件,库函数引用不存在或是拼写错误:

3.运行错误:

就是代码没有任何报错且可以运行在运行中出现的报错!原因千变万化

http://www.dtcms.com/a/107021.html

相关文章:

  • 民安智库:物业满意度调查是了解业主需求的关键工具
  • spring boot集成reids的 RedisTemplate 序列化器详细对比(官方及非官方)
  • 谷粒微服务高级篇学习笔记整理---thymeleaf
  • Kafka、RocketMQ、Pulsar对比
  • Linux 文件系统超详解
  • Java中的LocalDate类
  • 关于登录鉴权session、cookie和token
  • KMstation商品库存监控下单
  • neo4j+django+deepseek知识图谱学习系统对接前后端分离前端vue
  • angular实现连连看
  • 蓝桥杯练习:二叉树的最大深度
  • 系统与网络安全------Windows系统安全(6)
  • niuhe插件, 在 go 中渲染网页内容
  • 基于React + Antd + Java的OFD文件上传预览实现方案(OFD文件转图片)
  • 删除和关闭 Solana 中的账户和程序
  • Linux网络相关概念和重要知识(4)(序列化和反序列化、TCP协议、会话和守护进程)
  • 基于OpenCV的指纹验证:从原理到实战的深度解析
  • vue3 动态路由
  • 第1章-3 MySQL的逻辑架构
  • 【C++】二叉搜索树
  • 【哈希表】—— 我与C++的不解之缘(二十八)
  • [CISSP] [4] 法律、法规
  • alfred-deepseek开源程序在 Alfred 中与 DeepSeek 聊天
  • [IOI 2000] 回文字串
  • 符号秩检验
  • 跟着尚硅谷学vue-day2
  • 23 种设计模式中的解释器模式
  • C++友元与动态内存
  • 关于存储的笔记
  • go语言:开发一个最简单的用户登录界面