VS2019调试技巧

1.调试是什么?

调试(英语:Debugging / Debug),又称除错,是发现和减少计算机程序或电子仪器设备中程序
错误的一个过程

2.DebugRelease的介绍。

Debug 通常称为调试版本,它包含调试信息,并且 不作任何优化,便于程序员调试程序。
Release 称为发布版本它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优
的,以便用户很好地使用。
 

3.快捷键使用

最常使用的几个快捷键:
F5
启动调试,经常用来直接跳到下一个断点处。
F9
创建断点和取消断点
断点的重要作用,可以在程序的任意位置设置断点。
这样就可以使得程序在想要的位置随意停止执行,继而一步步执行下去。
F10
逐过程,通常用来处理一个过程,一个过程可以是一次函数调用,或者是一条语句。
F11
逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们的执行逻辑 进入函数内部(这是最
长用的)。
CTRL + F5
开始执行不调试,如果你想让程序直接运行起来而不调试就可以直接使用。

4.调试的时候查看程序当前信息

4.1查看临时变量的值
在调试开始之后,用于观察变量的值。
966c5c26c18f4353bd85d51c8171d836.png
点击监视,输入你想要监视的变量,你可以观察变量值的时刻变化。
4.2 查看内存信息
在调试开始之后,用于观察内存信息。
查看你想要观察变量的地址,是否有越界什么的。
 
 
 
4b4ddbe6bc674beaba01d7394df8c2ce.png
4.3查看汇编信息
调试后右键或者窗口
可以通过汇编语言(写得越多,效率相对说低),对我们的程序进行优化

219ce38be2144c1ea72c1db240d9307d.png

5如何写出好(易于调试)的代码。

 
5.1 优秀的代码:
1. 代码运行正常
2. bug很少
3. 效率高
4. 可读性高
5. 可维护性高
6. 注释清晰
7. 文档齐全
常见的 coding 技巧:
1. 使用assert
2. 尽量使用const
3. 养成良好的编码风格
4. 添加必要的注释
5. 避免编码的陷阱。
 
assert()介绍。assert用法是断言。
需要头文件如图。
如果条件为真,什么都不会发生。如果条件为假,则会中断程序,提醒你。
因为在有些情况下有些异常我们无法通过代码表示清楚,而断言则会提醒我们
这个地方应该会出现哪些问题。
#include<stdio.h>
#include<assert.h>
void main()
{
	int a,b;
	int max;
	scanf("%d%d",&a,&b);
	assert((a>0)||(b>0));
	
	if (a > b)
	{
		max = a;
	}
	else
	{
		max = b;
	}
	printf("%d",max);
	
}

be34b3af7f894aafb72fa93f4faa3056.png

 
实现strlen函数。
int my_strlen(const char *str)
{
    int count = 0;
    assert(str != NULL);
    while(*str)//判断字符串是否结束
   {
        count++;
        str++;
   }
    return count;
}

形参我们选择传指针,为的是避免造成空间浪费(传一个数组例如100个空间大小,那么又会产生100个空间大小)。并且我们期望数组不为空,断言会更好提醒出问题。而不是什么也不显示就过去了。

char * strcpy(char * dst, const char * src)
{
        char * cp = dst;
 assert(dst && src);
 
        while( *cp++ = *src++ )
               ;     /* Copy src over dst */
        return( dst );
}

strcpy()两个参数,前面是目的,后面是源地址,将源参里的内容付给目的参数。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值