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爬虫教程之爬取百度贴吧并下载的示例
Mar 07 Python
Python函数式编程指南(二):从函数开始
Jun 24 Python
python实现简单点对点(p2p)聊天
Sep 13 Python
python opencv之分水岭算法示例
Feb 24 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
Mar 31 Python
pandas创建新Dataframe并添加多行的实例
Apr 08 Python
django之使用celery-把耗时程序放到celery里面执行的方法
Jul 12 Python
django认证系统实现自定义权限管理的方法
Aug 28 Python
TensorFlow绘制loss/accuracy曲线的实例
Jan 21 Python
关于matplotlib-legend 位置属性 loc 使用说明
May 16 Python
520使用Python实现“我爱你”表白
May 20 Python
Jupyter notebook 输出部分显示不全的解决方案
Apr 24 Python
Python通过m3u8文件下载合并ts视频的操作
Python实现Telnet自动连接检测密码的示例
AI:如何训练机器学习的模型
python 用递归实现通用爬虫解析器
MATLAB 如何求取离散点的曲率最大值
用Python远程登陆服务器的步骤
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 #Python
You might like
php实现的漂亮分页方法
2014/04/17 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
PHP实现添加购物车功能
2017/03/06 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
JS 统计时间
2021/03/09 Javascript
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
jQuery.getScript加载同域JS的代码
2012/02/13 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
2013/09/29 Javascript
js有序数组的连接问题
2013/10/01 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
Python用threading实现多线程详解
2017/02/03 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
Python单元测试unittest的具体使用示例
2018/12/17 Python
详解python深浅拷贝区别
2019/06/24 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
Python自带的IDE在哪里
2020/07/01 Python
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
大学生表扬信范文
2014/01/09 职场文书
西门豹教学反思
2014/02/04 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
通用员工手册范本
2015/05/14 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书