vs调试技巧(详细)


在这里插入图片描述

一.简介

1.调试是什么

在这里插入图片描述

调试本身是一个动作,是用来除去错误的动作

2.调试的基本动作

1.发现程序错误所在

主要有三类人发现bug
1.程序员自己
2.测试人员
3.用户

2.以隔离消除等方式对错误进行定位

顾名思义,就是先找到错误的代码在哪一部分,再对这段代码进行检测

3.确定错误产生的原因

4.提出纠正错误的解决方法

5.对错误进行修改和测试

3.Debug和Rlease的介绍

在这里插入图片描述

在我的vs里有这样的格式:

在这里插入图片描述

具体的区别就是Debug的模式是程序员自己用的版本,里面包含各种调试信息,程序员可以在里面进行调试

在这里插入图片描述

Rlease版本就是用户使用的版本,不包含调试信息,所以不能调试,但因此它占的内存会更小,更有利于发布

ps:这里补充一个小知识,其实vs并不是编译器,而是被叫做IDE(集成开发环境)(集编译器和调试器为一体)

二.调试介绍

1.调试环境准备

调到Debug模式
在这里插入图片描述

2.快捷键的使用

在这里插入图片描述
F5

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

F9

创建断点和取消断点

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

这样就可以使得程序在想要的地方停下来,继而一步步执行下去
断点就是让程序停下来的点

这两个键经常一起使用

在这里插入图片描述

我在123行按一下F9,出现了一个 红点,这就是断点,再按F5,看下图

在这里插入图片描述

这里先叫我输入,因为前面有个scanf函数,如果没有这个scanf,那么按F5的话就会直接跳到这个红点位置

ps:断点可以设置多个,依次按F5会依次跳到下一个断点

在这里插入图片描述

F10

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

F11

逐语句,就是每次都执行一条语句,但这个快捷键可以帮助我们进入函数内部(这个功能是最常用的)

CTRL+F5

开始执行不调试,也就是我们常用的运行程序的键位

F10的使用
在这里插入图片描述
在这里插入图片描述

与F5不同的是,F5是直接跳到断点处,而F10是一条一条的执行

F11的使用
在这里插入图片描述

使用F11就可以直接进入menu函数内部,而用F10会直接跳到retrn 0

当然我们使用F5和F9组合也可以进入函数内部,只需要将断点放在函数内部就可以了

在这里插入图片描述

三.调试时看当前信息

1.查看临时变量的值

首先打开监视窗口

在这里插入图片描述

记得看窗口时一定要先调试(按F5或F10)起来,不然是无法看到的

在这里插入图片描述

随便打开一个调试窗口,然后我们向里面输入我们要查看的变量

在这里插入图片描述

这里还没有初始化,,所以里面放的是随机值

在这里插入图片描述

按F10向下走,这时就可以看到x,y被初始化了,接下来我们再添加z监视,再按一下F10

在这里插入图片描述

可以看到直接完成了函数得出了z的值

如果我们检测数组会怎样呢
在这里插入图片描述

可以看到我们依然可以看到arr的所有元素,那么我们如果进入函数呢,按F11进入函数

在这里插入图片描述

可以看到这里只显示了第一个元素,那我们如何显示所有元素呢

在这里插入图片描述

其实很简单,只需要再数组后面加个,再加上数字,就可以让你看到几个元素啦

2.查看内存

在这里插入图片描述

如果我们想看a的地址那么我们只需要&a就可以了

在这里插入图片描述

然后按回车,里面出现的值就是a的地址啦

在这里插入图片描述

需要注意的是地址在编译器中其实是二进制放的,但为了方便看,所以用16进制表示

在这里插入图片描述

这里面的数就是a的值,其实它在内存中也是二进制放的,但为了方便也是16进制显示的。a在16进制中就是10

这样其实不好看,因为a是int类型,只有32位2进制也就是8位16进制,所以在后面全放的是c(至于为什么是c而不是其他值就要看函数堆栈啦),我们不需要看后面的数,所以我们可以调整窗口让其只显示前8位16进制数,也就是4列

在这里插入图片描述在这里插入图片描述

同理我们可以看看b的内存,在16进制中c就是12

在这里插入图片描述

四.多多动手调试

调试是非常重要的

在这里插入图片描述

好啦,这里就介绍到这里啦,当然vs的调试功能是很强大的,其他窗口像是反汇编,堆栈…有兴趣的朋友可以自己看看啦

在这里插入图片描述

  • 70
    点赞
  • 243
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
在PyCharm中进行程序调试时,有几个常用的技巧可以帮助你更有效地调试你的程序。 1. 断点:通过设置断点,你可以让程序在特定的位置停下来。要设置断点,只需在代码行的左侧单击即可。当程序运行到断点时,它会暂停执行,你可以检查变量的值、跟踪程序的执行流程等。 2. 监视变量:在调试过程中,你可以选择监视某些变量的值,以便在程序执行过程中查看它们的变化。这可以帮助你理解代码中的问题和逻辑错误。在调试控制窗口的“Watches”选项卡中,你可以添加要监视的变量,并在程序执行时随时查看它们的值。 3. 单步执行:单步执行是一种逐行执行代码的方式,可以帮助你了解程序的执行流程。在调试控制窗口,你可以使用“Step Over”按钮逐行执行代码,同时查看每一步的结果。如果你想进入函数或方法内部,可以使用“Step Into”按钮。 4. 条件断点:除了普通断点,你还可以设置条件断点,当满足特定条件时才会触发断点。例如,你可以在循环中设置条件断点,当循环达到特定次数或某个条件满足时,程序会在该位置停下来。 5. 异常处理:在调试过程中,如果你希望捕获并处理异常,你可以在调试控制窗口启用“Catch Exceptions”选项。这样,当程序抛出异常时,程序会在异常发生的位置暂停执行,你可以检查异常的类型和详细信息。 总结:通过设置断点、监视变量、单步执行、条件断点和异常处理等技巧,你可以更有效地调试PyCharm中的程序。这些技巧可以帮助你定位和解决代码中的问题,提高程序的质量和性能。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸蛋挞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值