24/05/10(1108) 调试技巧

这是一个标题:实用调试技巧

1.什么是bug?

2.调试是什么?有多重要?

3.debug和release的介绍.

4.Windows环境调试介绍.

5.一些调试的实例.

6.如何写出好(易于调试)的代码.

什么是bug?

bug是客观存在的.bug就是幺蛾子.

调试是什么?有多重要?

如何把bug找出来并解决掉?这样的过程叫"调试".

1.发现bug/确认存在bug. 需求

产品经理(产品) => 提出需求 => 需求文档 => 程序员实现需求

2.定位bug(最难的过程)找到哪个代码和这个bug有关联.要求定位到具体某一行或者某几行.

核心思想:二分查找.

3.确认原因(最重要的步骤).只要bug定位的准,原因分析一般比较简单.

4.提出解决方案并实施.

5.回归测试:再测试一下,程序中的bug是否真的被解决.也要尽可能保证改动的代码没有引入新的bug.

需要把曾经的功能都测试一遍.如果程序的功能太多一项一项测工作量要怎么办呢?这就需要自动化测试(即测试开发).

VS的调试器的用法.为了方便大家更高效的定位问题.

很方便的看到程序运行的中间结果.

两个核心操作:

1.打断点.程序执行到某一行代码,就让它停下来.让程序员看到中间结果.左键在行号之前单击,出现一个红色圆点.断点表示程序接下来要运行的代码.

2.开始调试/继续运行.F5(不是Ctrl+F5)

熟悉这两个操作之后可以尝试点击"调试"按钮"F11" "F12",继续"窗口" "自动窗口" "监视" "调用堆栈"等自行摸索.

调试实例:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

int main(){
    
    int i = 0;
    int sum = 0;//保存最终结果
    int n = 0;
    int ret = 1;//保存n的阶乘
    scanf("%d",&n);
    for (i = 1; i <= n; i++){
        ret = 1;
        int j = 0;
        for (j = 1; j <= i; j++){
            ret *= j;
        }
        sum += ret;
    }
    printf("%d\n", sum);

    system("pause");
    return 0;
}

debug和release的介绍.

debug通常称为调试版本,release称为发布版本.

Debug版本的程序相比于Release来说多了很多的调试信息.辅助调试器来进行工作.

使用调试器的时候需要使用Debug版本.

如果真正发布程序给用户来用,需要使用Release版本.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值