第15.3节 PyCharm程序调试功能介绍

1、 代码调试
点击工具栏的调试按钮(以下图蓝色圈标记按钮)能够进行程序调试,能够在调试前先设置断点,断点设置就是在打开文件的行与前面的行号之间用鼠标单击进行设置和取消(以下图蓝色下划线上面的实体圆点)
在这里插入图片描述
设置后执行debug时到断点就会停下,以下图:
在这里插入图片描述
其中黄色荧光笔标记的为debug调试语句执行按钮,包括step over、step into等按钮,在run菜单中也有对应子菜单,相关功能也有对应快捷键,如F八、F7等。在右下角标记蓝色的框内能观察到对应变量的值。除了常规的step into和step over功能以外,PyCharm还提供了以下调试功能:web

一、 step into(单步跟踪进入,遇函数进入函数代码执行):快捷键为F7,执行下一行,若是遇到子函数会进入子函数执行,包括调用标准库模块的子函数都会进入;svg

二、 step over(单步跟踪,遇函数当成一行代码执行,不会进入函数内执行):快捷键为F8,执行下一行,若是遇到子函数不会进入子函数执行,将子函数做为一行执行,但若是子函数中有断点会执行到断点处;函数

三、 Step into my code(执行到应用代码),从当前系统模块函数代码中直接往下执行直到执行到应用自己的代码,快捷键为Alt+Shift+F7,当执行step into进入一个系统模块的代码中去之后,使用该功能能够回到本身的代码并继续向下行执行,这个功能老猿以为应该某些时候很是有用;工具

四、 Force Step into(强制单步执行但忽略调试过滤条件):快捷键也为Alt+Shift+F7,但菜单栏是灰色的,查阅相关资料说当调用了一个类库方法时候,强制进入会进入到该类库的方法里面,哪怕是class代码,这通常不必,因此必须强制才能进去。另外从菜单的hint信息中,是说对于逐步调试过滤的库、构造函数等也强制进入,若是是这样应该有个地方能够设置调试过滤的地方,老猿暂时没有这个功能。所以这个功能老猿没弄明白是什么意思,由于老猿验证使用step into调用系统标准模块也会进入标准模块的构造函数执行,而且在老猿测试过程当中,该按钮始终为不可用状态,不能点击;测试

五、 step out(执行跳出当前函数):快捷键为Shift+F8,当单步执行到子函数内时,用step out就能够执行完子函数余下部分,并返回到上一层函数;.net

六、 smart step into(智能单步跟踪):快捷键为:Shift+F7,这个在按钮中没有,在菜单中有,这个功能也是一个很是有用的功能,当一行代码中有多个函数,想进入其中一个函数其余函数不进入,使用该功能可让调试人员选择进入的函数。如:
在这里插入图片描述
就能够选择须要调试进入的函数而其余两个函数不进入。
注意:若是想选择上面3个函数中的2个执行必须在执行第一个函数返回时再选择这种模式执行。另外该方式执行到调试的函数内时,若是还须要继续选择调试下一个函数,须要在当前执行函数的return语句去选择该方式执行,在其余地方该方式执行等同于断点恢复执行执行功能。debug

七、 Force Step over(强制单步跟踪):快捷键为Alt+Shift+F8,与step over相似,只是函数中的断点所有会disable不会发生做用,因此为Force;3d

八、 run to cursor(执行到光标):快捷键为Alt+F9,执行到当前光标所在代码,中间若是有断点会在断点处中止;调试

九、 Force run to cursor(强制执行到光标):快捷键为Ctrl+Alt+F9,执行到当前光标所在代码,中间若是有断点会所有忽略不中止;code

十、 Jump to Cursor(跳转到光标):忽略其余代码,直接从当前执行处跳转到当前光标代码行;

十一、 resume programe(断点恢复执行):快捷键F9,直接从当前处往下执行,直到遇到下一个断点。

本节介绍了PyCharm的debug方法,可见PyCharm的调测功能仍是比较强大的。

老猿Python,跟老猿学Python!
博客地址:https://blog.csdn.net/LaoYuanPython

老猿Python博客文章目录:https://blog.csdn.net/LaoYuanPython/article/details/98245036 请你们多多支持,点赞、评论和加关注!谢谢!