回溯一个 Python 函数
Tracingback a Python function
我通常用C++来理解项目架构的一种方式是使用GDB在特定的函数中设置一个断点,然后使用回溯功能,我可以很容易地理解不同函数之间的调用类.我是 Python 的新手,我想问一下用于理解 Python 项目的最佳技术是什么,
我看了一下 traceback
但问题是它只跟踪同一模块内的函数,因此如果调用者在不同的模块中,则不会被跟踪。另外,栈的大小也是有限制的,不对的请指正
能否请您根据自己的经验分享您正在使用的Technics。
我不知道你从哪里想到 python 的回溯将被限制在单个模块或大小上 - 当异常发生时,你 当然 有 完整的 堆栈跟踪可用。
话虽这么说,Python has a full step debugger in it's stdlib,它可以让您检查和导航整个调用堆栈。当然还有各种 IDE 和自定义 shell 或环境(即 IPython 等)中的第三方步骤调试器。
注意 inspect
模块也可能 be of interest to you - 不仅用于堆栈检查 ;-)
我通常用C++来理解项目架构的一种方式是使用GDB在特定的函数中设置一个断点,然后使用回溯功能,我可以很容易地理解不同函数之间的调用类.我是 Python 的新手,我想问一下用于理解 Python 项目的最佳技术是什么,
我看了一下 traceback
但问题是它只跟踪同一模块内的函数,因此如果调用者在不同的模块中,则不会被跟踪。另外,栈的大小也是有限制的,不对的请指正
能否请您根据自己的经验分享您正在使用的Technics。
我不知道你从哪里想到 python 的回溯将被限制在单个模块或大小上 - 当异常发生时,你 当然 有 完整的 堆栈跟踪可用。
话虽这么说,Python has a full step debugger in it's stdlib,它可以让您检查和导航整个调用堆栈。当然还有各种 IDE 和自定义 shell 或环境(即 IPython 等)中的第三方步骤调试器。
注意 inspect
模块也可能 be of interest to you - 不仅用于堆栈检查 ;-)