PYCHARM 断点调试

1.在你想要调试的地方打上断点

file

2.使用调试模式来运行程序

file

设置好断点,debug运行,然后 F8 单步调试,遇到想进入的函数 F7 进去,想出来在 shift + F8,跳过不想看的地方,直接设置下一个断点,然后 F9 过去。

3.调试按钮含义标识

file

file

4.小技巧

1).断点条件调试

有这样一个场景,代码 DeBug 的时候,我想知道下面代码 index 为 10 时, date_1的值是什么,正常来说要 代码 DeBug 循环 10 次,很不方便。
在 IDE 中有个条件断点,只需设置好变量条件,只有当某个变量等于你设置的条件的值时,断点就会自动停下。首先右击第 24 行的断点,给 Conditon 设置变量条件 index == 10,并点击 Done 保存设置。

file

当 index 的值为 10 时,DeBug 就会自动停下

2).计算表达式

当我们 Debug 某个方法时,有时候会忘了传入某个参数或者传错了,这个时候又不想重新Debug,就可以通过计算表达式来设置某个变量的值,如下图,发现 day_int = 367 不是期望的值,可以鼠标右击下面蓝色的 day_int , 选择 Set Value, 对 day_int 临时修改值

file

下面的代码程序会根据重新赋的值向下运行,可以看到变量 num_30 的值是 200 整除 30 的结果。
file

3).多线程调试

有时候发现对多线程并发代码无法调试, 并不会所有断点都走到,代码中 87 行的 args 里的变量给了 6个 值,线程并发数量设置为 3 个,第 71 行的断点调试我只循环了 2 次,正常来说应该循环 6 次,如下图:

file

出现上面的情况是因为 IDE 在 Debug 时默认阻塞级别是 Thread,解决办法是将它的阻塞级别改为 All, 阻塞其它线程,只有在当前调试线程走完时才会走其它线程。配置方法是右击断点,Suspend 的值改为 All ,再点击 Make Default, 最好点击 Done 保存设置。
file

修改后运行的效果如下:
file

5.调试相关的快捷键

Shift + F10:运行当前运行配置中的文件,等同于 Ctrl + Shift + F10

Shift + F9:调试当前运行配置中的文件

Ctrl + Shift + F10:运行 main 函数

Alt + Shift + F10:弹出菜单,让你选择运行哪一个文件(你得提前设置好运行配置)

Alt + Shift + F9:弹出菜单,让你选择调试哪一个文件(你得提前设置好运行配置)

F8:单步执行,不进入函数

F7:单步执行,进入函数

Alt + Shift +F7:单步执行,只进入自己写的函数

Shift + F8:跳出函数体

Alt + F9:运行到光标所在行

F9:运行到下一断点

Ctrl + F2:终止调试程序

Ctrl + F5:重新以调试模式运行

Ctrl + Shift + F8:查看所有设置的断点

Ctrl + F8:切换断点(有断点则取消断点,没有则加上断点)

Alt + F8 计算表达式(可以更改变量值使其生效)

上一篇
下一篇
Copyright © 2022 Egon的技术星球 egonlin.com 版权所有 沪ICP备2022009235号 沪公网安备31011802005110号 青浦区尚茂路798弄 联系方式-13697081366