加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何调试PYGTK程序

发布时间:2020-12-17 00:51:05 所属栏目:Python 来源:网络整理
导读:当python在处理回调的pygtk信号中间引发异常时,gtk主循环捕获异常,打印其值并且主循环继续,忽略它. 如果你想用pdb(python -m pdb myscript.py)之类的东西进行调试,你想要在异常发生的时候PDB跳过它并且你可以开始调试.因为这是不可能的. 我怎么能调试pygtk程

当python在处理回调的pygtk信号中间引发异常时,gtk主循环捕获异常,打印其值并且主循环继续,忽略它.

如果你想用pdb(python -m pdb myscript.py)之类的东西进行调试,你想要在异常发生的时候PDB跳过它并且你可以开始调试.因为这是不可能的.

我怎么能调试pygtk程序呢?

最佳答案
你不能让pdb跳转到异常,因为异常被gtk的主循环捕获并静音.

其中一个替代方法是使用pdb.set_trace():

import pdb
pdb.set_trace()

见pdb documentation.

或者你可以使用Winpdb:

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

特征:

> GPL许可证. Winpdb是免费软件.
>兼容CPython 2.3到2.6和Python 3000
>兼容wxPython 2.6到2.8
>独立于平台,并在Ubuntu Gutsy和Windows XP上进行了测试.
>用户界面:rpdb2是基于控制台的,而winpdb需要wxPython 2.6或更高版本.

Screenshot http://winpdb.org/images/screenshot_winpdb_small.jpg

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读