python / python/devguide

Guide for using RR with CPython

Offen
#1,283 0 Kommentare 6 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

@colesbury arbeitet bereits daran.

Seit 01.3.2024.

type-feature
Vorherrschende Sprache
Python
Sterne
2.1k
Forks
1k
Ø Merge
2 T. 12 Std.
Gemergte PRs (30 T.)
12

Beschreibung

rr is a record & replay debugging tool. I've found it particularly helpful for debugging multiprocessing issues, free-threading bugs, and non-deterministic crashes.

@ericsnowcurrently suggested adding a devguide entry for how to use rr specifically for CPython development. That seems like a good idea to me.

Here are some topics I think are worth covering:

  • How to install rr? The OS provided packages (e.g., Ubuntu) are often out-of-date and may not work well with some CPython test suites or new CPUs. The latest release on GitHub is much better: https://github.com/rr-debugger/rr/releases/
  • How to use rr for multiprocessing? (rr replay -p pid or rr replay -f pid)
  • How to use rr for multi-threading issues?
  • How to use rr to track down intermittent crashes? (Roughly, record lots of traces until you find a crasher).

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.