我有一个父进程在调用它的子进程,我把import pdb; pdb.set_trace()
放到了子进程的代码中。
当我用python -m pdb parent.py
启动父进程时,它被冻结了。调试器不响应我键入的任何命令。但是当我点击quit
或continue
时,它确实退出代码。
它看起来像pdb工作,但不产生任何输出。
$ python -m pdb parent.py
n -m pdb parent.py
> d:\scripts\parent.py(53)<module>()
-> '''
(Pdb) c
现在没有React了。
根据我在中断后得到的跟踪,它就在pdb.set_trace()
调用后站在线路上。
>>>>>>>>>>>>>[2013.06.13-10:02:06] : accessed by child.py
Traceback (most recent call last):
File "child.py", line 40, in <module>
sys.stderr = open(Definition_h.ErrLog, 'a', 0, encoding=Definition_h.utf8)
File "d:\scripts\Definition_h.py", line 863, in unicodeOpen
def unicodeOpen(*args, **kwargs):
File "C:\Program Files (x86)\Python 2.5.4\lib\bdb.py", line 50, in trace_dispatch
return self.dispatch_call(frame, arg)
File "C:\Program Files (x86)\Python 2.5.4\lib\bdb.py", line 79, in dispatch_call
self.user_call(frame, arg)
File "C:\Program Files (x86)\Python 2.5.4\lib\pdb.py", line 134, in user_call
self.interaction(frame, None)
File "C:\Program Files (x86)\Python 2.5.4\lib\pdb.py", line 187, in interaction
self.cmdloop()
File "C:\Program Files (x86)\Python 2.5.4\lib\cmd.py", line 148, in cmdloop
import readline
KeyboardInterrupt: !!!<unprintable KeyboardInterrupt object>
Error in sys.excepthook:
2条答案
按热度按时间9o685dep1#
实际上,问题是我的代码将
sys.stdout
重定向到日志文件fcwjkofz2#
我的错误是脚本是在后台模式下启动的,结尾是&符号
&
。所以我得到了pdb提示符,但没有命令执行。