我有一个脚本已经崩溃(似乎)难以预料。我想不出怎么复制它。
Python是否保存了一个全局系统日志文件,这样我就可以回过头来看看是什么异常导致了退出?如果是的话,在Windows上哪里可以找到它?如果可能的话,我也希望能看到回溯。
编辑:我知道我可以将整个脚本放在try...except
块中,但我不知道在它再次崩溃之前运行多长时间。我希望至少能够获得一些关于已经发生的崩溃的粗略信息,即使这些信息只是导致崩溃的异常类型。这样,我可以尝试更可靠地再现这个bug。
我怀疑坠机是由于与外部设备的通讯失败造成的(可能是一些简单的松散电缆)。这些类型的失败本质上是随机的,很难重现,所以我想知道是通信错误还是真正的代码错误。
发布于 2012-08-06 14:23:48
发布于 2012-08-06 14:29:08
你能“抓住”exception
吗?如果是,则可以使用traceback
打印堆栈跟踪并精确指出问题发生的位置。
然后,您可以使用Eclipse调试所讨论的模块(即使它是python的一部分,它将以简单可读的形式出现)。
import traceback
...
...
try:
<your script>
except Exception as runtime_ex:
print runtime_ex, traceback.format_exc()
https://stackoverflow.com/questions/11830029
复制相似问题