Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A awesome-python
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 13
    • Issues 13
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 317
    • Merge requests 317
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Vinta Chen
  • awesome-python
  • Merge requests
  • !1571

Added pytrace - Time-Travel Debugger

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Administrator requested to merge github/fork/gleb-sevruk/added-pytrace into master Jul 09, 2020
  • Overview 1
  • Commits 1
  • Pipelines 0
  • Changes 1

Created by: gleb-sevruk

What is this Python project?

PyTrace is a Record and Replay debugging suite.

It records code execution and variable values at any point of execution. This allows alternative debugging experience, with the ability to step back in the code.

PyTrace UI

What's the difference between this Python project and similar ones?

Usually, profilers only show how long the method run was, without the ability to see actual state of execution.

Also, when debugging unknown or complex code, it is hard to understand the sequence of events and state of variables in the outer scope.

If by some mistake you miss step into some function, you will need to run debugging session again. Using pytrace will allow you to scroll back in time and repeat debugging steps without the need to restart entire thing again.

This tool greatly assists me in regular debugging as it is possible to step back and navigate to the interesting functions via call graph.

As a side effect, graph provides hints regarding the performance implication of each method executed.

Call graph is also using color coding, so each time you record session, files and methods will stay the same color.

Interactive Demo

--

Anyone who agrees with this pull request could submit an Approve review to it.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/gleb-sevruk/added-pytrace