Pycharm Debug(断点调试)超详细攻略

这篇具有很好参考价值的文章主要介绍了Pycharm Debug(断点调试)超详细攻略。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

PyCharm Debug 可以帮助开发者在代码运行时进行实时的调试和错误排查,提高代码开发效率和代码质量。当然也可以对源码进行断点调试,领略源码的魅力。

具体操作步骤

准备一段代码

让我们来举个简单的栗子pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

这段代码主要作用,循环range里面的值并调用自定义的add方法将返回的结果打印

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

if __name__ == '__main__':

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

放置断点

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

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

pycharm 断点调试,环境配置&调试程序,pycharm,ide,pythonpycharm 断点调试,环境配置&调试程序,pycharm,ide,python

启动debug调试

启动debug 的方式有三种:

  • 第一种方法:点击main方法旁边的绿色图标 

pycharm 断点调试,环境配置&调试程序,pycharm,ide,pythonpycharm 断点调试,环境配置&调试程序,pycharm,ide,python

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

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

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

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

以上3种方式,大家根据自己的习惯自行选择

调试界面详解

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

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

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

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

蓝色部分主要是纪录程序运行时的一些调用方法的堆栈信息的纪录,蓝色框可以看出方法被调用的轨迹,每次调用一个方法时,都会在堆栈的顶部添加一个新的帧(这里可以理解为是一行),当一个方法的执行完成时,相应的帧将从堆栈中移除(以后进先出的方式),在文章的后面会有具体的解释,这里可以不用过多的关注

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

我们先重点介绍下红色部分: ​

我用的Pycharm版本比较老有的图标会和最新的版本有点出入但是不影响使用(如果大家看不清可以点击图片进行预览)

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

 具体栗子展示

  • 示例一:入门级别

启动debug调试后,当线条变成蓝色的时候表示程序正在运行到这一行,大家注意上面会有一行灰色的字,这个表示num的值当前为1

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python点击 step  into(进入方法)

我们会看到程序 跳转到了add这个方法当前num1=1;num2=2,并且Frames添加了一行

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python点击 step over(按行执行代码)

我们看到蓝色的光标又回到了main函数 ,并且Frames少了一行说明add方法已经执行完毕

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python点击 step over(按行执行代码)

获取了result值=3,此时控制台并没有输出内容

pycharm 断点调试,环境配置&调试程序,pycharm,ide,pythonpycharm 断点调试,环境配置&调试程序,pycharm,ide,python

点击 step over(按行执行代码)

控制台输出了内容“result 3”,蓝色的光标重新移到for循环,准备下一轮的循环

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

点击 step over(按行执行代码)

此刻num=2,进入下一轮的循环

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

点击 step over(按行执行代码)

此刻num=2 ,result=5,注意这个时候因为我们没有进入方法所以旁边的Frames并没有新增一行

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

点击 step over(按行执行代码)

此刻控制台输出内容“result 5”,蓝色光标移到for循环准备下一次的循环

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

点击 step over(按行执行代码)

因下一次的num=3不满足for循环的要求循环结束,整个debug的调试也随之结束

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

示例二:源码调试

以下代码是连接手机,获取并打印手机的deviceInfo信息,这里我们主要是想通过debug看下pyhon端是如何发送HTTP请求给手机端和手机端返回的信息

前置条件

  • pip install -u uiautomator2
  • 运行 python -m uiautomator2 init
  • 手机打开debug调试,并且连接电脑

准备代码

import uiautomator2 as u2

if __name__ == '__main__':
    device = u2.connect()
    print(device.info)

源码分析添加断点

通过跟踪源码我们可以看到 info()方法先调用的jsonrpc()这个方法,在初始化类的时候会调用__call__方法,在call方法中会调用_jsonrpc_retry_call这个方法于是我们把断点打在了这里,看下是否会走到这个方法,我们继续往下看

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

_jsonrpc_retry_call这个方法又调用了_jsonrpc_call这个方法,在仔细的看下这个方法我们主要是想得到他的请求体和返回体所以我们把断点打在了这里  

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

开启调试

蓝色框内我们可以看到是方法的调用栈,红色框框部分是正在运行的地方,证实了我们的猜想是对的,我们直接跳到下一个断点看看

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

点击 resume program(跳到下一个断点处)

蓝色部分新增了一行表示又调用了一个_jsonrpc_call方法和我们的猜想一样,接下来我们看下res的返回,我们的目的是为了看请求体和响应结果的,仔细看我们看到了一个request的请求对象我们展开看看

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

红色框部分不就是我们想找的信息嘛,找到了请求体之后我们在看看返回结果,继续找

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

在request的后面还有一个text的参数,这不就是我们要找的返回内容嘛,因为单行展示有限我们可以通过点击“View”来查看详情,获取更完善的信息

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

大功告成!我们可以结束断点啦!点击stop"mian"程序运行结束

清除断点

方法一:在原来打断点的地方在点击一下,断点就删除啦

方法二:如果我们打的断点较多,我们一时间找不到,没关系~我们可以点击“View Breakpoints”查看所有断点处,如果你想删除断点可以按“—”进行删除并点击“Done”

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

忽略断点

如果我们想保留断点位置,又不想让程序执行的时候在断点处挂起,这个时候我们可以点击enbaled让断点不生效

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

如果我们想忽略所有断点可以点击“Mute breakpoints”

pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

总结

类库的debug的调试会比自己写的代码的调试要复杂点,如果大家想知道源码的方法调用,可以自己先走读下代码在觉得会走的地方打断点,在debug进行验证,也可以直接step over(按行执行代码)但是这样会比较费时间,根据大家自己的选择,debug 的调试刚开始的时候会比较不顺畅当你用多了,就自然懂了。pycharm 断点调试,环境配置&调试程序,pycharm,ide,python

更多debug调试内容可以参考官方文档:Debug | PyCharm Documentation文章来源地址https://www.toymoban.com/news/detail-728327.html

到了这里,关于Pycharm Debug(断点调试)超详细攻略的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java语言基础(4)IDEA程序debug断点调试与单元测试junit(图文简单超详细教程,一文搞定debug断点调试和junit单元测试)

    在代码中,找一个位置,点击 前面出现红色点:这个叫 断点 右击鼠标,选择Debug运行 下图:鼠标悬停上面,会提示如下 1、Step Over(F8):点击这个按钮,或者按住F8键,可以往后面执行 2、Step Into(F7):可以进入方法内部,如果当前执行到方法调用,就可以进入方法内部 3、Fo

    2024年02月20日
    浏览(38)
  • pycharm的debug调试以及异常,Python 中错误的处理方式

    在b站看了详细的视频教程,做一个系统的总结。第一次写关于pycharm的debug调试以及python代码运行报错处理的帖子,错误地方请大家指出。 作为一个非科班出生的学生,平时看代码的时候特别的难懂,这时候对代码debug单步调试可以很好的看代码的具体信息。让我们能够更加清

    2023年04月19日
    浏览(34)
  • 详细完整pycharm远程连接服务器,远程环境配置,虚拟环境配置

    我发现很多教程其实都比较偏向于有基础的人,对于完全没有基础的人来说,一些微小步骤的省略都是难以跨域的鸿沟。因此,想写一篇适合小白的配置过程。 想要在pycharm上远程连接服务器,那我们得先创建一个虚拟环境,我们可以用xshell来操作。(可以自己去下载,这里

    2024年02月07日
    浏览(41)
  • 深度学习Pycharm+Anaconda环境 安装配置详细教程

    1.双击运行Anaconda的安装包. 2.点击【Next 】按钮. 3.点击【I Agree】按钮. 4.建议选择【Just Me】推荐项,点击【Next 】按钮. 5.建议不要更改路径,保持默认路径即可,点击【Next 】按钮. 6.选择1、3、4项,点击【Install】按钮,安装需要等待一段时间. 7.点击【Next】按钮. 8.点击【Nex

    2024年01月16日
    浏览(61)
  • pycharm、anaconda、pytorch安装以及环境配置(超详细教程)

    python解释器是将python源码高级语言解析为二进制机器语言的工具。安装python是指安装python解释器。注意:python2.x和python3.x不兼容。 python编辑器有很多,比如python解释器自带的IDLE,还有Jupyter Notebook,也有如PyCharm、Spyder等主要针对Python代码编辑的编辑器。编辑器和解释器是完全

    2024年02月10日
    浏览(54)
  • Python集成开发环境pycharm配置git详细教程

    Python集成开发环境pycharm配置git详细教程 Pycharm是一款很优秀的python集成开发环境,而git则是一个开源的分布式版本控制系统。接下来我们就pycharm中如何配置git,并对一些常用的操作进行详述。 一、 在pycharm中配置本地git。 依次打开File–Settings—Version Control,在Path to Git exec

    2024年02月02日
    浏览(42)
  • 在Anaconda中安装pytorch的详细步骤+PyCharm环境配置

    前言 深度学习小白一枚,自己的笔记本配置如下: 显卡:NVIDIA GeForce MX150(非常垃圾的笔记本显卡) 固态硬盘 256G CPU:lntel® Core™i7-8550U Windows:Windows 11家庭中文版 其他配置: CUDA 10.0 pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 python 3.6 IDLE:PyCharm Community Edition 2022.1.3 1.打开Anac

    2024年02月16日
    浏览(35)
  • MacOS配置Python开发环境和Pycharm的详细步骤(完整版)

    目录 引言: 步骤: 下载Pycharm安装包: 安装和基本配置Pycharm: 汉化Pycharm编辑器: 安装Python其他版本的解释器: Python第三方库和插件的介绍及安装: Python软件包管理工具pip: 通过pip安装requests第三方库:  第一次终端显示报错及解决:  通过pip安装Beautifulsoup4第三方库:

    2024年02月03日
    浏览(44)
  • Mac开发环境——MacOSX安装与配置Anaconda与PyCharm详细流程

    1.简介 Anaconda 是一个用于数据科学、机器学习和科学计算的开源发行版和包管理器。有许多可用于数据处理、分析和建模的工具和库,并提供了一个方便的环境管理系统。Anaconda 包含了 Python 解释器和许多常用的 Python 包,以及包括 Jupyter Notebook、Spyder 等在内的一些流行的集成

    2024年01月17日
    浏览(78)
  • Idea断点调试(debug)详解

    打断点: 鼠标左键点击这里就会出现一个红点标志 (有各种形状,后续解释),就打上了一个断点。 启动: 对于已经运行过的程序,直接点击,小虫子就能启动 对于没有运行过的程序,找到程序入口(main方法)前面的三角形 ,鼠标右键启动 启动后,当我们的程序执行到

    2024年02月08日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包