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使用plotly绘制数据图表的方法
Jul 18 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
Jan 11 Python
opencv-python 提取sift特征并匹配的实例
Dec 09 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
python实现的批量分析xml标签中各个类别个数功能示例
Dec 30 Python
Python hashlib常见摘要算法详解
Jan 13 Python
完美解决pycharm导入自己写的py文件爆红问题
Feb 12 Python
python对接ihuyi实现短信验证码发送
May 10 Python
如何解决cmd运行python提示不是内部命令
Jul 01 Python
Anaconda的安装与虚拟环境建立
Nov 18 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
Dec 07 Python
python全面解析接口返回数据
Feb 12 Python
Python通过m3u8文件下载合并ts视频的操作
Python实现Telnet自动连接检测密码的示例
AI:如何训练机器学习的模型
python 用递归实现通用爬虫解析器
MATLAB 如何求取离散点的曲率最大值
用Python远程登陆服务器的步骤
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 #Python
You might like
php二维数组转成字符串示例
2014/02/17 PHP
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
PHP中比较时间大小实例
2014/08/21 PHP
PHP使用NuSOAP调用Web服务的方法
2015/07/18 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
PHP实现SMTP邮件的发送实例
2018/09/27 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
2013/08/13 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
JS 循环li添加点击事件 (闭包的应用)
2016/12/10 Javascript
Vuex之理解state的用法实例
2017/04/19 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
2020/05/07 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
python爬虫的工作原理
2017/03/05 Python
Python使用win32com实现的模拟浏览器功能示例
2017/07/13 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
初中生学习生活的自我评价
2013/11/20 职场文书
应届毕业生自我评价分享
2013/12/15 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
房地产财务经理岗位职责
2015/04/08 职场文书
高中生军训感言
2015/08/01 职场文书
mysql脏页是什么
2021/07/26 MySQL