vscode调试教程和断点类型的介绍

如何进入调试模式

1.点击如下图标,或者按下Ctrl+Shift+D即可跳转到该窗口,点击运行和调试即可开始调试
在这里插入图片描述
2.或者点击运行在这里选择调试,可以使用快捷键F5直接开启调试
在这里插入图片描述
如果你不想使用调试而是直接运行可以点击右侧的箭头
在这里插入图片描述

断点

点击代码左侧的编辑器的侧栏来设置断点,或者使用快捷键F9
在这里插入图片描述

在调试的时候必须要有断点,程序才能停下(或者程序出现错误,会在错误的地方停下)

调试介绍

在如图所示的位置添加断点
在这里插入图片描述
这是个简单的人为制造除零异常的程序

import numpy
import random
def div(data):
    for i in data:
        temp = 100/i

if __name__ == '__main__':
    data = list(numpy.random.rand(100))
    data[random.randint(0, 99)] = 0
    div(data)

点击运行和调试(或者按下F5
选择Python Debugger
在这里插入图片描述

调试工具

屏幕上侧出现了一行工具栏
在这里插入图片描述
依次为
在这里插入图片描述

  1. 继续/暂停 F5: 控制调试程序的运行和停止,点击运行后会继续运行直到遇到下一个断点
  2. 逐过程 F10: 会一行一行运行,如果遇到了函数不会进入而是直接跳过
  3. 单步调试 F11: 也是一行行运行,但是遇到了函数会进入函数体
  4. 单步跳出 Shift+F11: 如果在函数体或子例程里面,会执行完后面的所有代码
  5. 重新启动Ctrl+shift+F5:重新启动调试程序
  6. 停止 Shift+F5: 停止调试

变量监视

你可以在右侧看到此时的局部变量Locals和全局变量Globals
在这里插入图片描述
安装jupyter插件
在这里插入图片描述
随后你可以在数据查看器中查看数值
在这里插入图片描述
在这里插入图片描述

监视数据

你可以右键将你关心的数据添加到监视中
在这里插入图片描述
随后在每一次运行的时候更新,监视的数据也会更新方便你查看
在这里插入图片描述
添加表达式
在这里插入图片描述
你可以在表达式中键入你关心的值,例如我关心i是否等于0
在这里插入图片描述

不同的断点

记录点

记录点在调试的时候不会停住,而是会在调试控制台打印输出你的消息

右键可以添加记录点
在这里插入图片描述
或者在此处添加
在这里插入图片描述
可以在此处填写你想输出的消息,{}内可以添加你想打印的代码内容
在这里插入图片描述
在这里插入图片描述
可以在下方的调试控制台看到你的日志输出
在程序出现问题的时候你想知道某些值的情况下很有用
在这里插入图片描述

触发式断点

此断点不会直接启用而是在你选定的断点触发后才会启用

在这里插入图片描述
在此处选择你想等待的断点
在这里插入图片描述
例如我这个斐波那契数列的例程
在这里插入图片描述

def fibonacci(n):
    fib_sequence = [0, 1]  # 前两个斐波那契数列的值
    if n <= 0:
        return "请输入一个正整数"
    elif n == 1:
        return [0]
    elif n == 2:
        return fib_sequence  
    for i in range(2, n):
        next_number = fib_sequence[-1] + fib_sequence[-2]
        fib_sequence.append(next_number)
    return fib_sequence
   
if __name__ == "__main__":
    num = int(input("输入一个整数"))
    res = fibonacci(num)
    print(res)
    print("ok")

只有在我键入负数时第一个断点会触发,随后导致这个触发式断点触发启用
在键入正数时程序完全不会中断

条件断点

表达式型

只有在你编写的条件表达式为真时断点才会触发
在这里插入图片描述
例如在i==0的时候断点触发
在这里插入图片描述
启用调试的时候只有在i等于0时才会中断
在这里插入图片描述

命中次数式

只有在该段代码运行第多少次时才会中断
在这里插入图片描述
在这里插入图片描述
可以看到在调试时输出了9个hello后中断,且只会中断这一次
在这里插入图片描述

联合使用

在左下角的断点栏里面选择编辑条件即可
在这里插入图片描述
你可以为一个断点同时使用上面的四种功能

  1. 表达式
  2. 命中次数
  3. 日志消息
  4. 触发式
    例如我添加上两种
    在这里插入图片描述
    i<5 时会中断,执行的第十次会中断

注意 如果你加上了记录点,如下所示

在这里插入图片描述
那么在调试的时候这个断点不会中断,而是只会在应该中断的时候在调试控制台打印记录消息
在这里插入图片描述

函数断点

专门用于给函数添加断点,无需在具体调用的地方添加
每次在调用函数时会自动中断
在这里插入图片描述
输入你想中断的函数名
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同样你可以在函数断点上设置你想要的中断条件和命中次数
在这里插入图片描述

  • 27
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值