使用python
解释器和/或pdb
,我们可以运行程序并在出现错误时暂停,这样我就可以检查程序调用堆栈的所有帧。崩溃?
当我直接在python
解释器中运行程序时,当遇到错误时,它会告诉它发生的代码行,但它似乎返回到最顶层的框架,我无法检查实际发生错误的框架。 E.g。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "test.py", line 194, in <module>
addlevel(root_toc, 0)
File "test.py", line 191, in addlevel
addlevel(child, root_level+1)
File "test.py", line 188, in addlevel
root.value.append(root_level)
AttributeError: 'str' object has no attribute 'append'
>>> root_level
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'root_level' is not defined
错误发生在最低帧,我无法检查该帧的root_level
值。是因为它在错误发生后返回到最顶层的框架?如何检查最低帧?
感谢。