gpt4 book ai didi

python - PDB:在控制台中出现异常 - 完整堆栈跟踪

转载 作者:太空狗 更新时间:2023-10-29 22:28:12 25 4
gpt4 key购买 nike

在 pdb 控制台上,输入导致异常的语句只会产生一行堆栈跟踪,例如

(Pdb) someFunc()
*** TypeError: __init__() takes exactly 2 arguments (1 given)

但是我想弄清楚 someFunc 中错误的确切来源。即在这种情况下,__init__ 附加到哪个类。

有没有办法在 Pdb 中获取完整的堆栈跟踪?

最佳答案

最简单的方法是在您的代码中定义一个调用 someFunc() 并打印回溯的函数,然后从 Pdb 调用它。

或者,您可以自己打印回溯。鉴于此源代码:

def foo(a):
pass

def bar(b):
foo(b, 2)

def some_func():
bar(3)

if __name__=='__main__':
import pdb
pdb.set_trace()

然后我们可以这样做:

C:\temp>test.py
--Return--
> c:\temp\test.py(12)<module>()->None
-> pdb.set_trace()
(Pdb) import traceback
(Pdb) exec "try: some_func()\nexcept: traceback.print_exc()"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\temp\test.py", line 8, in some_func
bar(3)
File "C:\temp\test.py", line 5, in bar
foo(b, 2)
TypeError: foo() takes exactly 1 argument (2 given)
(Pdb)

关于python - PDB:在控制台中出现异常 - 完整堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2754399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com