python / python/cpython

remote pdb can not attach when breakpoint() and exit

Offen
#139,688 10 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

stdlib type-bug
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Bug report

Bug description:

reproduce

on terminal

./python.exe
breakpoint()
# ctrl + D

another terminal

sudo ./python.exe -m pdb -p $(pid)

more can check png below
Image

Image

debug:

Pdb._last_pdb_instance still when do_quit in repl so remote pdb can not exec in it

fix:

diff --git a/Lib/pdb.py b/Lib/pdb.py
index f695a39332..3e32c50f96 100644
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -2008,6 +2008,7 @@ def do_quit(self, arg):
                     return
 
         self._user_requested_quit = True
+        Pdb._last_pdb_instance = None
         self.set_quit()
         return 1
 

CPython versions tested on:

CPython main branch

Operating systems tested on:

macOS

Linked PRs
  • gh-139690

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.

Rechercherichtung

Beginnen Sie in Lib/pdb.py bei Pdb.do_quit und reproduzieren Sie die breakpoint()- und exit-Sequenz aus dem Issue, bevor Sie die vorgeschlagene Änderung prüfen. Verifizieren Sie, dass das Beenden des lokalen Debuggers ein späteres Anhängen von remote pdb ermöglicht, und prüfen Sie den verknüpften PR gh-139690 auf bereits laufende Arbeiten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
1/5
Geschätzter Aufwand
Unter einer Stunde
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

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