当python在pygtk信号处理回调中间引发异常时,gtk主循环捕获异常,打印其值并且主循环继续,忽略它。
如果你想用pdb(python -m pdb myscript.py)之类的东西进行调试,你希望当异常发生PDB跳过它并且你可以开始调试时。因为这是不可能的。
我如何调试pygtk程序?
答案 0 :(得分:4)
你不能让pdb跳转到异常,因为gtk的主循环捕获并静默异常。
其中一个选择是使用pdb.set_trace()
:
import pdb
pdb.set_trace()
或者您可以使用Winpdb:
它是一个平台独立的图形GPL Python调试器,支持通过网络进行远程调试,多线程,命名空间修改,嵌入式调试,加密通信,速度比pdb快20倍。< / p>
特点:
(来源:winpdb.org)