pycharm debug 断点调试心得分享

编辑: admin 分类: python 发布时间: 2021-12-24 来源:互联网

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

1.操作步骤:

1.1 添加断点

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

1.2 Debug下运行代码

如图所示:

点击这颗七星瓢虫

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

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从而查看变量,控制台的显示如下:

无法正常命中断点进入Debugger显示变量,控制台的显示:

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

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

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

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

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

【文章来源:http://www.1234xp.com/lg.html 复制请保留原URL】