Python:出于调试目的跟踪库的所有先前调用堆栈

问题描述 投票:0回答:1

是否有任何优雅且简单的方法来跟踪库中 Python 中的所有调用堆栈以进行调试或代码理解?

假设我正在导入一个非常大的库并且需要了解它的代码。

from xyz import tokenizer

start_call_stack_trace()
tokenizer.tokenize('Hello World', some_parameter='some_value')
stop_call_stack_trace()

现在我想获取所有带有参数值和返回值(如果可能!)的函数的列表,这些函数在调用

tokenizer.tokenize()
时在链中调用。

我想知道是否有任何优雅的方法可以快速获取它并理解 XYZ 库的代码?

python function oop debugging object-oriented-analysis
1个回答
0
投票

我相信,你可以使用Python的内置模块 -

trace
,它可以帮助你跟踪函数调用、异常、返回、逐行执行。

例如-

import trace

tracer_call = trace.Trace(trace=1, count=1)
tracer_call.runfunc(tokenizer.tokenize('Hello World', some_parameter='some_value'))

output_res = tracer_call.results()
output_res.write_results()

你可以参考这个

© www.soinside.com 2019 - 2024. All rights reserved.