遇到错误后如何留在调试器中?

2024-04-23 12:38:01 发布

您现在位置:Python中文网/ 问答频道 /正文

调试循环时,调试器在遇到错误时退出。是否可以留在调试器中,以便在错误发生之前调查程序的状态

比如说,

import pdb;pdb.set_trace()

for i in [1, 2, 3, 0]:
    print(2/i)

我想点击c,这样调试器就可以一直在循环中运行,直到最后一次迭代。然后,调试器不会退出,而是保持活动状态,以便我可以查看导致错误的i的值


Tags: inimport程序for状态错误trace调试器
1条回答
网友
1楼 · 发布于 2024-04-23 12:38:01

你要找的是^{}。可能失败的代码应封装在try/except块中,处理程序调用该函数,例如:

try:
    for i in [1, 2, 3, 0]:
        print(2/i)
except Exception:
    import pdb
    pdb.post_mortem()

执行:

2.0
1.0
0.6666666666666666
> (3)<module>()
-> print(2/i)
(Pdb) 

pdb外壳现在处于故障点

相关问题 更多 >