Python 基于PyCharm断点调试

2023-09-17 11:12:29

视频版教程 Python3零基础7天入门实战视频教程

PyCharm Debug(断点调试)可以帮助开发者在代码运行时进行实时的调试和错误排查,提高代码开发效率和代码质量。

准备一段代码

def add(num1, num2):
    return num1 + num2


if __name__ == '__main__':

    for num in range(1, 5):
        result = add(num, num + 1)
        print("result {}".format(result))

放置断点

在你想放置断点的处点击如图所示:

点击后会有一个实心的红点,此刻你的断点已经放置成功啦

在这里插入图片描述

启动debug调试

启动debug 的方式有三种:

  • 第一种方法:点击main方法旁边的绿色图标,然后选择 "Debug ‘debug’ "

在这里插入图片描述

  • 第二种方法:选择需要debug的文件,再点击“小乌龟”图标

在这里插入图片描述

  • 第三种方法:在代码空白处右键→选择“debug”

在这里插入图片描述

调试界面详解

断点调试的意思就是程序在执行到你打断点位置时,暂时挂起(你可以理解为是等待)此时你可以看到你之前运行程序的一些变量参数等信息

启动调试后我们会看到这样一个界面,这个界面元素有点多,我们慢慢的分析下,先看整体,分为3个区域:

红色部分:最为重要主要是控制调试代码的走向

黄色部分:主要是查看变量信息

蓝色部分:主要是纪录程序运行时的一些调用方法的堆栈信息的纪录,蓝色框可以看出方法被调用的轨迹,每次调用一个方法时,都会在堆栈的顶部添加一个新的帧(这里可以理解为是一行),当一个方法的执行完成时,相应的帧将从堆栈中移除(以后进先出的方式)
在这里插入图片描述

我们先重点介绍下红色部分:
在这里插入图片描述

更多推荐

分布式系统的 38 个知识点

天天说分布式分布式,那么我们是否知道什么是分布式,分布式会遇到什么问题,有哪些理论支撑,有哪些经典的应对方案,业界是如何设计并保证分布式系统的高可用呢?1.架构设计这一节将从一些经典的开源系统架构设计出发,来看一下,如何设计一个高质量的分布式系统;而一般的设计出发点,无外乎冗余:简单理解为找个备胎,现任挂掉之后,备胎顶

你对lambda表达式的使用方法以及底层原理了解吗?

你对lambda表达式的使用方法以及底层原理了解吗?lambda表达式是什么?Lambda表达式是Java编程语言中引入的一种函数式编程的特性,它可以用更简洁的方式来表示匿名函数。Lambda表达式可以作为一种行内函数,用于替代传统的匿名内部类。Lambda表达式的基本语法如下:(parameters)->expres

Spring学习 (一): IoC容器

前言参考廖雪峰Spring教程一、什么是IoC容器容器的意思可以理解为一个提供供程序正常运行,提供各种依赖的组件的包的环境。IoC,控制反转,实际上就是将原本由代码编写者控制的各个对象(组件)的生命周期托管给底层的容器,应用层不需要一个个定义好什么时候初始化,什么时候析构释放,所有组件不再由应用程序自己创建和配置,而是

蓝牙核心规范(V5.4)10.10-BLE 入门笔记之SMP和安全性

蓝牙篇之蓝牙核心规范(V5.4)深入详解汇总1.概述SMP是安全管理器协议,用于蓝牙低功耗系统的安全管理。SMP协议定义了配对和Key的分发过程的实现,以及用于实现这些方法的协议和工具。SMP的内容主要是配对和Key的分发,然后用Key对链路或数据进行加密。安全管理器协议(SMP)是协议栈的安全管理器组件的一部分。它支

【Android】SVGAPlayer的使用介绍

背景客户需要通过SVG来做直播场景的炫酷动画。故调用得到如下的工具库:GIthub-SVAGPlayer组装通过xml组装到项目中,然后调用提供的api实现自己的需求即可。<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://s

9月13日扒面经

文章目录2)char可以存放汉字吗3)list,map,set区别是什么4)讲一下反射5)实现反射的类6)重载和重写区别7)类加载过程8)什么时候会内存泄漏9)子父类加载顺序10)String,StringBuilderStringBuffer区别,哪些是线程安全的,哪一个快一些11)线程创建方式,你常用的是哪个,为什

从0搭建夜莺v6基础监控告警系统(一):基础服务安装

文章目录1.写在前面1.1.官方文档传送门1.2.部署环境2.服务安装2.1.基础设置2.2.安装中间件2.3.安装nightingale-v62.4.安装VictoriaMetrics2.5.安装Categraf3.部署总结3.1.安装总结1.写在前面1.1.官方文档传送门项目介绍架构介绍仪表盘黄埔营培训计划相关信息

【OpenSSL】HMAC消息认证码

HMAC消息认证码哈希运算消息码(Hash-basedMessageAuthenticationCode)与密钥相关的单向散列函数应用在SSL协议中消息是否被正确传输消息完整性消息认证算法流程密钥填充0(填充到与散列函数分组长度一致)填充后的密钥与0X36做异或ipad与消息内容组合第一次与单向散列函数进行散列计算填充

HTTP 状态码

状态码状态码英文名称中文描述100Continue继续。客户端应继续其请求101SwitchingProtocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议200OK请求成功。一般用于GET与POST请求201Created已创建。成功请求并创建了新的资源202

【Spring Boot】拦截器学习笔记

一、普通拦截器1,新建类MyWebConfig实现WebMvcConfigurer,实现addInterceptors方法@OverridepublicvoidaddInterceptors(InterceptorRegistryregistry){registry//不拦截哪些请求.excludePathPatter

电磁逆设计中伴随变量法的详细指南:Python在Jupyter环境下的完整演示

第一部分:电磁逆设计与伴随变量法的基础介绍1.电磁逆设计简介电磁逆设计是一种寻找最优电磁结构的方法,以实现特定的电磁响应。与传统的电磁设计方法不同,逆设计方法不是从已知的结构出发,而是从期望的响应出发,反向求解最佳的结构参数。2.伴随变量法的概念伴随变量法是一种优化技术,广泛应用于多种工程领域,包括电磁逆设计。它的核心

热文推荐