我最近发现了Python非常有用的'-i'标志
-i : inspect interactively after running script, (also PYTHONINSPECT=x)
and force prompts, even if stdin does not appear to be a terminal
这是伟大的,在全球范围内检查的对象,但会发生什么,如果异常被函数调用中长大,我想检查函数的局部变量?当然,我对首次提出异常的范围感兴趣,有什么办法可以实现吗?
在ipython中,您可以在代码崩溃的位置检查变量,而无需修改它:
>>> %pdb on
>>> %run my_script.py
Run Code Online (Sandbox Code Playgroud)
在交互式提示符下,立即键入
>>> import pdb
>>> pdb.pm()
Run Code Online (Sandbox Code Playgroud)
pdb.pm()是"post-mortem"调试器.它会将您置于引发异常的范围,然后您可以使用通常的pdb命令.
我一直都在用这个.它是标准库的一部分(不需要ipython),也不需要在源代码中编辑调试命令.
唯一的诀窍就是记住马上做; 如果先键入任何其他命令,则会丢失发生异常的范围.
| 归档时间: |
|
| 查看次数: |
898 次 |
| 最近记录: |