Time-Travel Debugger 🚀
A Python library that allows step-backward debugging, making debugging more visual and interactive. This tool helps developers inspect past states of their program without restarting execution, enabling efficient debugging.
📌 How This Idea Came to Mind
While solving problems on LeetCode, I often performed dry runs to manually track variable changes. I realized that a tool that could rewind execution steps and visually display variable changes would make debugging much easier. This led me to create Time-Travel Debugger—a library that allows developers to step backward and forward in execution history seamlessly.
✨ Features
- Step forward and backward through execution history.
- View variable changes at each step.
- Set breakpoints for controlled debugging.
- Interactive CLI mode with visual debugging powered by
rich.
🔧 Installation
pip install time-travel-debugger
🚀 Usage
from time_travel_debugger import TimeTravelDebugger
def sample_function():
a = 10
b = a + 5
c = b * 2
d = c - 3
print("Final result:", d)
# Initialize debugger
debugger = TimeTravelDebugger()
debugger.start_debugging(sample_function)
debugger.debugger_cli()
🛠️ Debugging Commands
| Command | Description |
|---|---|
f |
Step forward to the next execution state |
b |
Step backward to the previous state |
q |
Quit the debugger |
📜 License
This project is licensed under the MIT License.
Metadata
Release files for time-travel-debugger 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| time-travel-debugger-0.1.1.tar.gz | 3.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| time_travel_debugger-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.3 kB
Release files / time-travel-debugger-0.1.1.tar.gz
| Download URL | time-travel-debugger-0.1.1.tar.gz |
|---|---|
| Size | 3.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bfd12836ac488b2cda48248af589b2fe8bfae3edb80d1cf647426f9729aec7e6
|
|
BLAKE2b-256 checksum How to use checksums |
13ee03966d4479ff48135a6e383de97a6db047c3c4df5a1a37e73c207fd682e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / time_travel_debugger-0.1.1-py3-none-any.whl
| Download URL | time_travel_debugger-0.1.1-py3-none-any.whl |
|---|---|
| Size | 4.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
713888b34b6e7a8b592d7b074843cd87c0d4292ec0b0fe1cca0425b818bcf330
|
|
BLAKE2b-256 checksum How to use checksums |
4df91a900ad5a5c7740b50798bf8de23d33a2771330fda167b7352fc6a8b24c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|