能否在PyCharm调试器中断点时自动运行预定义脚本?
PyCharm调试断点自动执行预定义脚本的解决方案
当然可以!PyCharm的调试器早就考虑到了这种重复操作的需求,我自己调试可视化相关代码时也经常用这个技巧,省了超多重复输入的时间。下面给你两种实用的方法:
方法一:全局自动执行(所有断点生效)
- 先启动调试会话,让程序停在任意一个断点上
- 找到调试面板里的Watches区域(如果没显示,点击调试窗口右上角的「+」,选择Watches即可调出)
- 点击Watches区域的「+」按钮,输入你要自动执行的代码,比如
import matplotlib.pyplot as plt - 右键点击刚添加的这个watch,勾选Auto-evaluate选项
划重点:开启这个选项后,每次断点暂停时,PyCharm都会自动执行这段代码,完全不用你手动操作
方法二:特定断点触发(更灵活)
如果只需要在某个特定断点执行脚本,或者要运行多行初始化代码,这个方法更合适:
- 找到编辑器左侧的断点小红点,右键点击它,选择Edit breakpoint
- 在弹出的设置窗口里,找到Actions板块,勾选Evaluate and log
- 在下方的输入框里,输入你的代码,可以是多行,比如:
import matplotlib.pyplot as plt # 顺便配置一下绘图参数 plt.rcParams['figure.figsize'] = (8, 6) plt.rcParams['font.sans-serif'] = ['SimHei'] - 要是不想在控制台看到执行日志,取消勾选Log evaluated expression就行
- 点击「OK」保存设置,以后每次这个断点触发时,这段代码都会自动运行
额外小技巧
- 如果你的预定义脚本很长,可以把代码写到一个单独的
.py文件里,然后在Actions的输入框里用exec(open('你的脚本绝对路径').read())来调用,这样修改脚本更方便 - 要是需要全局生效的多行代码,也可以把多行代码都加到Watches里,每个一行,然后都开启Auto-evaluate
内容的提问来源于stack exchange,提问作者Mercury
相关产品推荐
相关产品推荐

