我试图调试一个Python程序,在函数中插入了一个经典的'import pdb;pdb.set_trace()'语句,就在生成堆栈跟踪之前。然而,那个调用似乎被忽略了,也就是说,没有发生任何事情,我没有得到一个pdb提示。
在程序的那一点上,只有一个活动线程。没有检测到对pdb模块的任何猴子补丁。
欢迎提供任何关于导致set_trace调用被忽略的原因的帮助。谢谢。
平台信息:Debian Squeeze + Python 2.6.5
代码片段:
import threading
print threading.active_count()
import pdb
print pdb
pdb.set_trace()
print "*****"
root_resource.init_publisher() # before changing uid
输出:
<lots of stuff>
1
<module 'pdb' from '/usr/lib/python2.6/pdb.pyc'>
*****
<stack trace in init_publisher>
print
调用是否有效?你尝试过pdb.pm()
吗?(http://docs.python.org/library/pdb.html#pdb.pm) - Katriel