调试正在运行的python进程

Koz*_*huk 17 python remote-debugging

有没有办法在python进程中查看各种线程正在做什么的堆栈跟踪?

假设我有一个线程允许我对进程进行某种远程访问.

nos*_*klo 6

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或更高版本.

截图http://winpdb.org/images/screenshot_winpdb_small.jpg

  • @Brandorn:它不仅仅是Windows.这是多平台,因为我在答案中清楚地说明了这一点.屏幕截图清楚地显示了如何调试线程. (3认同)

Tre*_*out 2

大约 4 年前,当我使用twisted时,沙井是满足您要求的好方法。

http://twistedmatrix.com/projects/core/documentation/howto/telnet.html

现在我的大多数项目都不使用twisted,所以我只是使用WingIDE 的远程调试钩子来内省正在运行的进程。

http://www.wingware.com/doc/debug/remote-debugging