pycharm Debug调试技巧

pycharm Debug调试技巧Debug 调试功能 是一项编程人员的重要技能 学会了 Debug 可以知道程序的走向 Debug 的前世在正式讲解之前 先来了解下 debug 这个词的由来 就像我们初学 Python 时 先要了解下它历史的由来 1937 年 美国青年霍华德 艾肯找到 IBM 公司为其投资 200 万美元研制计算机 第一台成品艾肯把它取名为 马克 1 号 mark1 又叫 自动序列受控计算机 从这时起 IBM 公司由生产制表机 肉铺磅秤 咖啡研磨机等乱七八糟玩意儿行业 正式跨进 计算机 领地 为马克 1 号编制程序的是哈佛的一位女

Debug调试功能,是一项编程人员的重要技能。学会了Debug,可以知道程序的走向。

Debug的前世

在正式讲解之前,先来了解下 debug 这个词的由来,就像我们初学Python 时,先要了解下它历史的由来。

看了上面的小故事,debug 一词的由来,是由 bug 词得来的,bug 是臭虫的意思,debug 就是解决臭虫。

在如今的互联网时代,多少你肯定听说过 bug 这个词,比如什么什么软件又出 bug 了!说的就是软件在使用的过程中,程序出现了一些错误。故称之为 bug。

而 debug 则是通过工具来对代码进行调试,一步步找出程序中出现 bug 的位置,也就是程序中具体错误代码的位置。就像故事中所说,debug过程就是在解决虫子一样。

pycharm中的Debug模式

首先,有三种方法进入Debug模式:

第一种方法:pycharm右上角的虫子。

第二种方法:pycharm下方的Debug,点击后,左上角会有虫子。

第三种方法:pycharm编辑代码窗口空白处,右键,可以看到虫子。

接下来要讲的,才是debug的重中之重,即断点调试。

Debug的断点调试

断点调试,英文breakpiont。

断点调试其实就是在程序自动运行的过程中,你在代码的某处打上了断点,当程序跑到你设置的断点处时,则会中断下来,此时你可以查看之前运行过的所有程序变量。注意:在断点处程序会停下来,并将该行置高亮,但是此步并没有执行,而是下一步将要执行。

 pycharm Debug调试技巧

 pycharm Debug调试技巧

 

pycharm Debug调试技巧

其中,横排最重要,经常用到的按钮,来解释一下,自己鼠标悬浮去看英文即可:

step over(F8快捷键):在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。在不存在子函数的情况下是和step into效果一样的。简单的说就是,程序代码越过子函数,但子函数会执行,且不进入。

step into(F7快捷键):在单步执行时,遇到子函数就进入并且继续单步执行,有的会跳到源代码里面去执行。

step into my code(Alt+Shift+F7快捷键):在单步执行时,遇到子函数就进入并且继续单步执行,不会进入到源码中。

step out(Shift+F8快捷键):假如进入了一个函数体中,你看了两行代码,不想看了,跳出当前函数体内,返回到调用此函数的地方,即使用此功能即可。

Resume program(F9快捷键):继续恢复程序,直接运行到下一断点处。

以上四个功能,就是最常用的功能,一般操作步骤就是,设置好断点,debug运行,然后 F8 单步调试,遇到想进入的函数 F7 进去,想出来在 shift + F8,跳过不想看的地方,直接设置下一个断点,然后 F9 过去。

转载自:https://zhuanlan.zhihu.com/p/ 作者:python小课堂 侵权删

分享IDEA使用技巧,IDEA和pycharm是同一家公司,所以技巧融汇贯通。慕课网上搜下IntelliJ IDEA神器使用技巧,具体地址:https://www.imooc.com/learn/924

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233360.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sublime 激活码【2021.7最新】

    (sublime 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlTR0LFTT656-eyJsaWN…

    2022年3月22日
    58
  • 全球ipv4地址耗尽了_ip起始地址和结束地址

    全球ipv4地址耗尽了_ip起始地址和结束地址重要消息:就在2019/11/25UTC+115:35时,一封来自欧洲RIPENCC的邮件中得到确认:全球的IPv4地址已经彻底耗尽。IPv4大家应该很熟悉了,就是我们平常所知道的IP地址,如:192.168.1.168。其实,很多年前就在说IPv4要用完了,只是没想到这天居然来得这么早,只能说互联网发展真的太快了。对于IPv4地址耗尽的问题,大家也不用担心…

    2025年5月23日
    1
  • 利用DNSPod实现动态域名解析DDNS (解析内网、外网或IPV6地址)

    利用DNSPod实现动态域名解析DDNS (解析内网、外网或IPV6地址)更新记录2020-01-03-修复了12月31日由于dnspodAPI改动导致的失效。2019-05-24-支持IPV6(如你所料,之前所说的支持是假的)-根据网站的更新,api调用使用TLSv1.2,解决了之前调用失败的问题(感谢@lth410指出)。——————————-以下正文—————–…

    2022年4月30日
    58
  • 调用so库文件以及里面的方法「建议收藏」

    调用so库文件以及里面的方法「建议收藏」之前文章写过一篇JNI生成so库文件 并调用里面的方法手把手教你—JNI的实现实际开发中 so库是别人给你的,不是你自己写的没所以就要用别人的so库文件。有很多情况,有一种是比较简单的:既有so库文件又有对应的jar包,这样的话 直接就可以调用里面的方法了。第二种比较坑爹,限制也比较多,所以现在就主要研究一下第二种吧(只有so库 其他什么都没有)第一

    2022年6月16日
    37
  • 简述ajax的实现原理_fluidsim实例讲解

    简述ajax的实现原理_fluidsim实例讲解AJAX即“AsynchronousJavascriptAndXML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。AJAX是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。解决传统的网页(不使用AJAX)如果需要更新内容,必须重载整个网页页面。

    2022年8月16日
    4
  • EnableEventValidation错误原因分析以及解决办法

    EnableEventValidation错误原因分析以及解决办法回发或回调参数无效。在配置中使用<pagesenableEventValidation="true"/>或在页面中使用<%@PageEnableEve

    2022年7月3日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号