Tastaturunterbrechung im Debug-Modus PyCharm

Gibt es eine Möglichkeit, ein Tastaturunterbrechungsereignis in PyCharm IDE (3.1) zu senden, während im Debugging-Modus?

4 Solutions collect form web for “Tastaturunterbrechung im Debug-Modus PyCharm”

Leider gibt es keinen einfachen Weg, dies zu tun. Sie müssen psutil und das signal . Für diese zu arbeiten, müssen Sie psutil installieren und der beste Weg, dies zu tun, ist durch pip :

 pip install psutil 

Also, sagen wir, wir haben hier, zeigen A:

 while True: try: time.sleep(3) print "Zzzz" time.sleep(3) print("gong!") except KeyboardInterrupt as e: print "Closed by an Interrupt" break 

Und das laufst du in PyCharm. psutils Sie sicher, dass der Dolmetscher, den Sie verwenden, psutils installiert hat. Du kannst nachschauen:

Bildbeschreibung hier eingeben

Stellen Sie sicher, dass Sie Ihren Dolmetscher richtig eingestellt haben:

Bildbeschreibung hier eingeben

Wenn du kein psutil installiert psutil , kannst du das immer tun, wenn du die Schaltfläche Installieren hast.

Okay dann, also jetzt, wo wir alles eingerichtet haben, lässt man das Programm debuggen:

Bildbeschreibung hier eingeben

Jetzt müssen wir nur noch die Prozess-ID bekommen, und das können wir am Anfang des Programms bekommen:

Bildbeschreibung hier eingeben

Also, lass uns unsere Konsole abfeuern und ein Signal senden:

Bildbeschreibung hier eingeben

Und wenn das richtig funktioniert, solltest du die while-Loop-Endung sehen:

Bildbeschreibung hier eingeben

Sie können den Prozess weiter optimieren, indem Sie eine Funktion hinzufügen, um einen Interrupt im Start-Skript für Ihre Konsole zu senden:

Bildbeschreibung hier eingeben

Sobald du fertig bist mit all dem, alles was du tun musst, rufe interrupt(<pid here>) , um einen Tastaturunterbrechung auf deinem Prozess aufzurufen.

Ich hoffe das beantwortet Ihre Frage.

Die PyCharm Stop- Taste sendet nun SIGINT sowohl im Debug-Modus als auch im Run-Modus. Wenn SIGINT das Programm nicht beendet, wechselt die Stopptaste ihr Signal auf SIGKILL . Es ändert auch seine Ikone zu einer Schädelform:

Sehen Sie, wie die Stopptaste ihr Symbol geändert hat

Das ist ein Fehler in PyCharm. Siehe: http://youtrack.jetbrains.com/issue/PY-4840

Tastaturunterbrechung ist ein SIGINT. Bei Unix-Systemen kannst du entweder zur Kommandozeile gehen und:

 $ kill -INT <pid> 

Oder in python:

 import os, signal os.kill(<pid>,signal.SIGINT) 

Ich kam durch diese Nachricht bei der Suche nach Pycharm's Bug-Tracking für diese Ausgabe: https://youtrack.jetbrains.com/issue/PY-4840

Wenn Sie Version Pycharm 3 verwenden, könnte dies helfen, es hat für mich gearbeitet.

Einer der Kommentare im Tracker: "Ich habe eigentlich herausgefunden, dass Ctrl + C schließlich das laufende Skript stoppt, aber du musst zuerst einen Brief in die Konsole schreiben, während er läuft. Klicken Sie dann in das Konsolenfenster, drücken Sie eine beliebige Taste und drücken Sie dann Strg-C. Mit anderen Worten, es sieht aus wie ein Problem der GUI-Frame immer Fokus. '

  • Erkennung, ob Bild Farbe, Graustufen oder Schwarz-Weiß mit Python / PIL ist
  • Python: Zusammenführungsliste mit Bereichsliste
  • Erstellen eines dynamischen Arrays in Python
  • Python schreibt eine .csv-Datei mit Zeilen und Spalten transponieren
  • Wie man pygame auf Mac OSX deinstalliert 10.9.4
  • Zeitzone für Datumsobjekt Python ändern
  • Formatieren Sie das Python-Dezimal-Objekt auf eine bestimmte Genauigkeit
  • AttributeError: 'Tupel' Objekt hat kein Attribut
  • Liste vs Generator Verständnis Geschwindigkeit mit Join-Funktion
  • Warum kann ich nicht urlencode verwenden, um json format Daten zu kodieren?
  • Was macht das in str () und repr ()?
  • Python ist die beste Programmiersprache der Welt.