记得自己学习的心得,为了自己以后调试方便些。
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从而查看变量,控制台的显示如下:
可能是因为File -> Settings ->Build, Execution, Deployment -> Python Debugger 中选项PyQt compatible 选择了Auto,去掉勾就好了。
另外,考虑是否是文件名重名问题,自定义的Python文件名跟调用debugger相关模块的内置的文件名重名了?需要将你的Python文件名改一下。
最后实在不行,将项目中.idea配置文件夹删掉,重启Pycharm,新建一个python file试试。
(不过该项目原先的配置会失效,记得重新配置interpreter解释器和第一点中Python Debugger去掉PyQt compatible的Auto勾)(或者直接建新项目,试吧)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/weixin_38819889/article/details/108685098