Added pytrace - Time-Travel Debugger #1571
Open
Conversation
|
@gleb-sevruk - I upvoted your submission but I have also noticed that the PR does not apply cleanly anymore. Just letting you know. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
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.
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.