See where different debugging sessions diverge
- Dominant language
- Python
- Stars
- 3.2k
- Forks
- 245
- Avg merge
- 13m
- Merged PRs (30d)
- 5
Description
This would be super hard to implement, but I'm putting it here in the hopes that someone will do it, or maybe point out an easy way to do it.
A common thing that I have to debug is two functions that give different things in different environments (say, two different git checkouts of some code, or whether or not a certain optional dependency is installed). The way I typically debug this with PuDB is to run the two side-by-side, and step through them both in parallel, and try to figure out exactly where they diverge.
This is super annoying, though, especially since it usually means stepping past the divergent point for each place in the stack, and then restarting and checking the next frame. Plus, it's easy to miss stuff, so that you have to restart again with no new information, and tricky to get the breakpointing right.
What I would like is some way to start PuDB from a given breakpoint (it has to be from a breakpoint, because e.g., if things differ from an optional dependency, I would want to skip things that diverge in unrelated code paths that do different setups when it is installed or not), and basically runs this schemata for me automatically, stopping when it notices the code going along a different path, or a variable set to a different value.
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no files, tests, or entry points. Start by clarifying the proposed side-by-side debugging workflow and how divergence in execution paths or variable values should be detected. Done would require an agreed design and implementation that stops at meaningful differences.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100