1

Ich habe eine flash-App auf Python 3.6 in einem Docker-Container ausgeführt. Ich versuche, die Flask-App von VS Code auf meinem Mac zu debuggen.Python-Remote-Debugger debuggt nicht meinen Code in VS-Code

Ich habe den Remote-Debugger anhängen, obwohl keiner meiner Haltepunkte getroffen wird, und alle erscheinen als "nicht verifizierte" Haltepunkte in VS-Code.

Wenn ich den Remote-Debugger ausführen, bricht es bei Zeile 587 von __init__.py in Resource.dispatchRequest(), die resp = meth(*args, **kwargs) liest. Wenn Sie versuchen, einen Schritt vorwärts, einen Schritt oder einen Schritt auszuführen, werden keine Ergebnisse angezeigt. Wenn Sie mehrere Male fortfahren (ungefähr 20), wird mit der nächsten Anfrage von meinem Testskript fortgefahren.

Der Debugger stoppt nie an meinen Haltepunkten in meinem Code und es zeigt meine Haltepunkte als nicht überprüfte Haltepunkte. Wenn der Debugger im Flaschenanforderungscode festsitzt, zeigt der Aufrufstapel Methoden aus meinem Code in Grau an und sagt neben ihnen "Unbekannte Quelle". Ich kann sie nicht im Call-Stack aufrufen, obwohl ich die lokalen Variablen im Fenster "Variablen" sehen kann.

Wie bekomme ich VS-Code, um meinen Code zu debuggen?

Antwort

0

Im launch.json der Attach Abschnitt hat die folgende Standard:

{ 
    "name": "Python: Attach", 
    "remoteRoot": "${workspaceFolder}", 
    ... 
} 

Dieser Standard macht keinen Sinn für einen Docker Container, es sei denn Sie Ihren Code in es unter exakt den gleichen Pfad kopiert es sich befindet auf der Host-Maschine.

Meine Dockerfile Kopien meinen Code in den Behälter wie folgt:

COPY . /app/ 

So ist der Attach Abschnitt launch.json Bedürfnisse sein:

{ 
    "name": "Python: Attach", 
    "remoteRoot": "/app/", 
    ... 
} 

Und jetzt kann ich meinen Code debuggen.