Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何调试PYGTK程序 当Python在PYGTK信号处理回调的中间引发异常时,异常被GTK主循环捕获,其值被打印,主循环仅继续,忽略它。_Python_Debugging_Gtk_Pygtk - Fatal编程技术网

如何调试PYGTK程序 当Python在PYGTK信号处理回调的中间引发异常时,异常被GTK主循环捕获,其值被打印,主循环仅继续,忽略它。

如何调试PYGTK程序 当Python在PYGTK信号处理回调的中间引发异常时,异常被GTK主循环捕获,其值被打印,主循环仅继续,忽略它。,python,debugging,gtk,pygtk,Python,Debugging,Gtk,Pygtk,如果您想使用类似pdb(python-m pdb myscript.py)的东西进行调试,那么当异常发生时,您需要pdb跳转到它上面,然后您就可以开始调试了。正因为如此,这是不可能的 那么我如何调试pygtk程序呢?您不能让pdb跳转到异常,因为异常被gtk的主循环捕获并静音 替代方法之一是使用pdb.set\u trace(): 看 或者,您可以只使用: 它是一个独立于平台的图形化GPL Python调试器,支持通过网络进行远程调试、多线程、名称空间修改、嵌入式调试、加密通信,速度比pdb快2

如果您想使用类似pdb(python-m pdb myscript.py)的东西进行调试,那么当异常发生时,您需要pdb跳转到它上面,然后您就可以开始调试了。正因为如此,这是不可能的


那么我如何调试pygtk程序呢?

您不能让pdb跳转到异常,因为异常被gtk的主循环捕获并静音

替代方法之一是使用
pdb.set\u trace()

或者,您可以只使用:

它是一个独立于平台的图形化GPL Python调试器,支持通过网络进行远程调试、多线程、名称空间修改、嵌入式调试、加密通信,速度比pdb快20倍

特点:

  • GPL许可证。Winpdb是自由软件
  • 与CPython 2.3至2.6和Python 3000兼容
  • 与wxPython 2.6至2.8兼容
  • 独立于平台,并在Ubuntu Gutsy和Windows XP上测试
  • 用户界面:rpdb2基于控制台,而winpdb需要wxpython2.6或更高版本

(来源:)

import pdb
pdb.set_trace()