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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WiFi曝Krack重大漏洞,6大措施应对威胁!

    WiFi曝Krack重大漏洞,6大措施应对威胁!为什么80%的码农都做不了架构师?>>>…

    2022年5月1日
    46
  • 兼容,原来在这里就已经開始——–Day34

    兼容,原来在这里就已经開始——–Day34

    2022年2月5日
    54
  • mmc卡和sd卡区别「建议收藏」

    mmc卡和sd卡区别「建议收藏」转载:https://zhidao.baidu.com/question/296690750.html区别:1、尺寸不同:SD卡的技术是基于MultiMedia卡(MMC)格式上发展而来,大小和MMC卡差不多,尺寸为32mmx24mmx2.1mm。长宽和MMC卡一样,只是比MMC卡厚了0.7mm,以容纳更大容量的存贮单元。2、兼容性不同:SD卡与MMC卡保持着向上兼容,…

    2022年6月11日
    36
  • springboot启动不了也不报错的解决方案「建议收藏」

    springboot启动不了也不报错的解决方案「建议收藏」公司用的springboot,随着项目的不断庞大,经常会出现一些稀奇古怪的问题,其实多半是配置文件有问题,但是没有错误提示信息,就很是难受,无从下手,以下列举一些自己遇到的常见的问题处理办法:案例1.项目启动,控制台只打印了SPRING的日志,然后自动停止,如截图所示:这种什么错误信息都没有,也是醉了,其实遇到这种情况,可以把启动方法trycatch起来即可在控制台显示错误信息…

    2022年9月7日
    3
  • zookeeper分布式锁实现原理(分布式锁怎么实现)

       摘要:本文要使用Zookeeper来实现一个分布式锁,是一个悲观锁。  本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning一、锁设计  获取锁实现思路:1.首先创建一个作为锁目录(znode),通常用它来描述锁定的实体,称为:/lock_node2.希望获得锁的客户端在锁目录下创建zno…

    2022年4月15日
    46
  • 【综合评价方法 变异系数权重法】指标权重确定方法之变异系数权重法

    【综合评价方法 变异系数权重法】指标权重确定方法之变异系数权重法变异系数法是直接利用各项指标所包含的信息,通过计算得到指标的权重。是一种客观赋权的方法。此方法的基本做法是:在评价指标体系中,指标取值差异越大的指标,也就是越难以实现的指标,这样的指标更难反映被评价单位的差距。由于评价指标体系中的各项指标的量纲不同,不宜直接比较其差别程度。为了消除各项评价指标的量纲不同的影响,需要用各项指标的变异系数来衡量各项指标取值的差异程度。各项指标的变异系数公式如下:…

    2022年5月3日
    42

发表回复

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

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