pycharm debug 断点调试心得分享


Posted in Python onApril 16, 2021

记得自己学习的心得,为了自己以后调试方便些。

1.操作步骤:

1.1 添加断点

直接在标记处点击鼠标左键即可。(删除断点只需再点击断点处即可)

pycharm debug 断点调试心得分享

1.2 Debug下运行代码

如图所示:

点击这颗七星瓢虫

pycharm debug 断点调试心得分享

1.3 按照所需调试进行代码调试

pycharm debug 断点调试心得分享

2.Debug的调试方式如下所示:

2.1.show execution point (F10)

显示当前所有断点

2.2step over(F8)

单步调试。

若函数A内存在子函数a时,不会进入子函数a内执行单步调试,而是把子函数a当作一个整体,一步执行。

2.3step into(F7)

单步调试。

若函数A内存在子函数a时,会进入子函数a内执行单步调试。

2.4.step into my code(Alt + Shift +F7)

进入我的代码,进行单步调试,执行下一行但忽略libraries。

它和step into 的区别就是:

step into my code 是debug 只会在你写的代码内部一步步的执行,step into 虽然 也是一步步的执行,但是它会可能会进入系统函数内部执行,比如说,正则re等。

推荐使用:step into my code,如果你关心的是系统底层的执行逻辑,可以使用step into

2.5.force step into(Alt + Shift +F7)

执行下一行忽略lib和构造对象等

2.6.step out(Shift+F8)

当目前执行在子函数a中时,选择该调试操作可以直接跳出子函数a,而不用继续执行子函数a中的剩余代码。并返回上一层函数。

就是说直接跳出当前debug所在的函数内部,进入到下一个需要执行的语句

2.7.run to cursor(Alt +F9)

直接跳到下一个断点(从现在的断点跳到打的下一个断点处)

总结的说下 就是:

7进,8出,9跳

F7进入代码内部,F8从代码出来,F9切换到指定代码或者代码文件

补充:Pycharm无法debug调试,无法命中断点直接运行到结束

无法正常命中断点进入Debugger从而查看变量,控制台的显示如下:

pycharm debug 断点调试心得分享

可能是因为File -> Settings ->Build, Execution, Deployment -> Python Debugger 中选项PyQt compatible 选择了Auto,去掉勾就好了。

pycharm debug 断点调试心得分享

另外,考虑是否是文件名重名问题,自定义的Python文件名跟调用debugger相关模块的内置的文件名重名了?需要将你的Python文件名改一下。

最后实在不行,将项目中.idea配置文件夹删掉,重启Pycharm,新建一个python file试试。

(不过该项目原先的配置会失效,记得重新配置interpreter解释器和第一点中Python Debugger去掉PyQt compatible的Auto勾)(或者直接建新项目,试吧)

pycharm debug 断点调试心得分享

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
Pyramid添加Middleware的方法实例
Nov 27 Python
Python实现简单的四则运算计算器
Nov 02 Python
python 判断是否为正小数和正整数的实例
Jul 23 Python
Pyinstaller将py打包成exe的实例
Mar 31 Python
python模拟登陆,用session维持回话的实例
Dec 27 Python
利用python求积分的实例
Jul 03 Python
python3连接MySQL8.0的两种方式
Feb 17 Python
基于logstash实现日志文件同步elasticsearch
Aug 06 Python
Python爬虫自动化爬取b站实时弹幕实例方法
Jan 26 Python
浅谈pytorch中stack和cat的及to_tensor的坑
May 20 Python
python图片灰度化处理的几种方法
Jun 23 Python
Python可视化神器pyecharts绘制水球图
Jul 07 Python
Python通过m3u8文件下载合并ts视频的操作
Python实现Telnet自动连接检测密码的示例
AI:如何训练机器学习的模型
python 用递归实现通用爬虫解析器
MATLAB 如何求取离散点的曲率最大值
用Python远程登陆服务器的步骤
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 #Python
You might like
PHP的加密方式及原理
2012/06/14 PHP
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
javascript中的有名函数和无名函数
2007/10/17 Javascript
JS操作CSS随机改变网页背景实现思路
2014/03/10 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
angularjs指令之绑定策略(@、=、&)
2017/04/13 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
记一次webpack3升级webpack4的踩坑经历
2018/06/12 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
jQuery md5加密插件jQuery.md5.js用法示例
2018/08/24 jQuery
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
[07:27]DOTA2卡尔工作室 英雄介绍水晶室女篇
2013/06/21 DOTA
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
python 产生token及token验证的方法
2018/12/26 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
C#的几个面试问题
2016/05/22 面试题
运动会广播稿200米
2014/01/27 职场文书
招商专员岗位职责
2014/02/08 职场文书
霸王洗发水广告词
2014/03/14 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
2015年保送生自荐信
2015/03/24 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
开学第一天的感想
2015/08/10 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书
用Python提取PDF表格的方法
2021/04/11 Python