inducer / inducer/pudb

See where different debugging sessions diverge

Open
#77 2 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.