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 相关文章推荐
python 获取指定文件夹下所有文件名称并写入列表的实例
Apr 23 Python
Selenium(Python web测试工具)基本用法详解
Aug 10 Python
pygame游戏之旅 添加碰撞效果的方法
Nov 20 Python
Python中单线程、多线程和多进程的效率对比实验实例
May 14 Python
详解Python是如何实现issubclass的
Jul 24 Python
Python实现性能自动化测试竟然如此简单
Jul 30 Python
python Django里CSRF 对应策略详解
Aug 05 Python
python3 pillow模块实现简单验证码
Oct 31 Python
python线程定时器Timer实现原理解析
Nov 30 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
Mar 03 Python
Python还能这么玩之只用30行代码从excel提取个人值班表
Jun 05 Python
一文搞懂python异常处理、模块与包
Jun 26 Python
Python通过m3u8文件下载合并ts视频的操作
Python实现Telnet自动连接检测密码的示例
AI:如何训练机器学习的模型
python 用递归实现通用爬虫解析器
MATLAB 如何求取离散点的曲率最大值
用Python远程登陆服务器的步骤
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 #Python
You might like
PHP无限分类的类
2007/01/02 PHP
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
php汉字转拼音的示例
2014/02/27 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
浅谈js中的in-for循环
2016/06/28 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
Vue实现商品详情页的评价列表功能
2019/09/04 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
浅析JavaScript 函数柯里化
2020/09/08 Javascript
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
[00:28]DOTA2北京网鱼队选拔赛
2015/04/08 DOTA
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
python中利用xml.dom模块解析xml的方法教程
2017/05/24 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
python实现日志按天分割
2019/07/22 Python
python基础教程之while循环
2019/08/14 Python
详解css3 object-fit属性
2018/07/27 HTML / CSS
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
一道写SQL的面试题和答案
2013/11/19 面试题
明信片寄语大全
2014/04/08 职场文书
公司员工安全协议书
2014/11/21 职场文书
公司回复函格式
2015/07/14 职场文书
公司规章制度范本
2015/08/03 职场文书
详解PHP Swoole与TCP三次握手
2021/05/27 PHP