【发布时间】:2012-02-08 09:45:24
【问题描述】:
Pydev 2.2 添加了一个很棒的功能,让我们可以打破异常。
我的问题是,在我开始编写代码之前,我已经从 python 库中获得了大量异常。
有没有办法将 PyDev 配置为仅中断我的代码中引发的异常?
具体来说:我想在异常发生时中断——而不是在它被捕获时中断
提前致谢!
【问题讨论】:
标签: python eclipse pydev breakpoints
Pydev 2.2 添加了一个很棒的功能,让我们可以打破异常。
我的问题是,在我开始编写代码之前,我已经从 python 库中获得了大量异常。
有没有办法将 PyDev 配置为仅中断我的代码中引发的异常?
具体来说:我想在异常发生时中断——而不是在它被捕获时中断
提前致谢!
【问题讨论】:
标签: python eclipse pydev breakpoints
[编辑]
请注意,在较新的 PyDev 版本上,PyDev 现在在 UI 中支持此功能:启用调试透视图并选择 PyDev > Manage Exception Breakpoints。
[结束编辑]
用户界面中没有任何内容,但您可以执行以下操作:
在 eclipse/plugins/org.python.pydev.debug/pysrc/pydevd_frame.py 中,编辑方法 handle_exception,并使其第一行如下:
def handle_exception(self, frame, event, arg):
if 'my_module' not in self._args[1]:
return
...
...
(self._args[1] 是发现捕获异常的文件名,因此,您可以根据要捕获异常的代码所在的位置使用任何启发式算法)。
【讨论】: