1

私はPython 3.6上でDockerコンテナの内部にフラスコアプリを実行しています。私はMacのVSコードからフラスコのアプリケーションをデバッグしようとしています。PythonリモートデバッガがVSコードでマイコードをデバッグしない

リモートデバッガが接続されていますが、ブレークポイントにヒットするものはありません.VSコードにはすべて「未確認」のブレークポイントが表示されます。

リモートデバッガを実行すると、フラスコの__init__.pyの行587にある、Resource.dispatchRequest()の、resp = meth(*args, **kwargs)と表示されています。前進、後退、または脱出を試みると、結果は得られません。数回続けて打つと(約20回)、私のテストスクリプトからの次のリクエストに進みます。

デバッガはコード内のブレークポイントで停止することはなく、ブレークポイントは未確認ブレークポイントとして表示されます。デバッガがフラスコ要求コードに詰まっている場合、コールスタックは自分のコードのメソッドを灰色で表示し、その隣に「Unknown Source」と表示されます。私はコールスタックでそれらに入ることができませんが、私は "変数"ウィンドウでローカル変数を見ることができます。

コードをデバッグするにはどうすればVSコードを取得できますか?

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

あなたはそれが位置してまったく同じパスの下でそれにあなたのコードをコピーしていない限り、このデフォルトは、ドッカーコンテナの意味がありません:Attachセクションには、次のデフォルトを持ってlaunch.json

答えて

0

ホストマシン上で容器に

マイDockerfileコピー私のコードとしては、次のとおりです。

COPY . /app/ 

をそうlaunch.jsonAttachセクションには、する必要があります:

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

そして今、私は自分のコードをデバッグすることができます。

関連する問題