调试技巧(1)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//调试技巧
//什么是bug?臭虫
//第一次被发现的导致计算机错误的飞蛾,也是第一个计算机程序错误
//调试是什么?
// 所有发生的事都一定有迹可循,
// 如果问心无愧,就不需要掩盖也没有迹象,
// 如果问心有愧,就必然需要掩盖,那就一定会有迹象,
// 迹象越多就越容易顺藤而上,这就是推理的途径。
// 顺着这条途径顺流而下就是犯罪,逆流而上,就是真相。
//
//调试(Debug)
// 基本步骤
//
// 发现程序错误的存在
// 1.程序员自己-自己一定解决了-少写bug
// 2.软件测试人员-测试软件-多测试出bug
// 3.用户-严重!
// 以隔离、消除等方式对错误进行定位
// 确定错误产生的原因
// 提出纠正错误的解决方法
// 对程序予以改正,重新调试
//
//Debug调试版本-包含调试信息,不做任何优化,便于程序员调试
//Release发布版本-进行了各种优化,使得代码大小和运行速度都是最优的,以便用户很好的使用
//windows环境调试
//
// 1.调试环境准备-Debug
//
// 2.学会快捷键
//F5-启动程序
//F9-设置和取消断点
//断点前的代码按F5直接就运行完了,调试效率就提高了
//F10-逐过程一步一步往下
//F11-逐语句-比F10更精细-可以进入到函数内部
//CTEL+F5
//Fn-辅助功能键
//CTRL+K+C-注释
//CTRL+K=U-取消注释
//
//3.调试的时候查看程序的当前信息
//调试窗口
//断点
//监视
//自动窗口
//局部变量
//内存窗口 显示从左往右依次是地址 内存数据 翻译文本
//可以调整列数为4,因为是16进制,每一个数表示一个字节,4个字节表示一个整型
//反汇编-可以看到汇编代码的内容
//寄存器
void test()
{
int a = 20;
}
int main()
{
int arr[10] = { 0 };
int sz = sizeof(arr) / sizeof(arr[0]);
int i = 0;
for (i = 0; i < sz; i++)
{
arr[i] = i + 1;
printf("%d ", arr[i]);
test();
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?