PyTrace-用于Python的时间旅行调试器

我经常不得不处理调试。

有时我设置了一个断点,但是我知道为时已晚,我们必须重新开始。

而且,在开始调试之前,我准备数据,清除数据库中不必要的记录。所有这些都是为了忘记使用看似无害的方法并重新开始整个过程​​。

事实是您必须使用遗留代码,这有时很难理解,这使情况变得复杂。

是否可以更好地理解混乱的代码?但是,如果我们能比编写它的人更快地理解这样的代码呢?

认识

PyTrace是时间旅行调试跟踪器

图片

与传统调试器的主要区别:

  1. 一次会话录制一次,您可以播放无数次。
  2. 现在,您不必害怕忘记单击单步执行,您可以随时返回并转到感兴趣的功能。
  3. 使用`print`没有更多意义。所有变量在每个时间在检查器中可见。

此外,使用内置的火焰图,您可以快速“深入”感兴趣的方法并查看实际发生的情况:

图片

[Command] +单击以放大感兴趣的功能
[Shift] +单击该方法,转移片刻,函数即将返回时。

热键教程:
以文本形式

在运行时记录的内容:

  1. 局部变量
  2. 传入和返回值
  3. 自录制开始以来的时间
  4. 调用堆栈

同样,在调试器启动时,源文件的内容将被写入重播文件。

为了尝试您的项目:


1.安装pip软件包:

pip install pycrunch-trace

2.添加装饰器 跟踪 关于感兴趣的方法:

from pycrunch_trace.client.api import trace

@trace
def run():
    some_code()

3.运行代码!

重放将记录在工作目录中。可以使用以下Web应用程序进行查看:app.pytrace.com
(数据不会发送到任何地方,所有录制工作都在浏览器本地进行)

我通常将@trace属性添加到Django View方法中。

互动演示


我建议通过交互式演示来熟悉所有功能。

参考文献


Github:

Pip软件包
Web应用程序,用于查看记录的会话Web

站点:

https//pytrace.com/

主要功能视频:


All Articles