//
Search across all documentation pages
11 pages in this section.
Why mutable default arguments, circular imports, asyncio deadlocks, memory leaks, and encoding bugs are the same shape of problem underneath - a boundary the code assumed was enforced turned out to be permeable - and the observe/narrow/hypothesize/verify loop that finds which one broke.
The classic shared-state trap and the fix.
Diagnosing and breaking import cycles.
`UnicodeDecodeError`, bytes/str confusion, and normalization.
Rounding, `Decimal`, and comparison traps.
"Works on my machine" resolution.
`pdb`/`breakpoint()`, `ipdb`, remote debugging, and logging.
Before/after fixes for common defects.