💬

PythonコードをVSCodeでptvsdを使ってリモートデバッグ

2023/08/30に公開

PythonコードをVSCodeでptvsdを使ってリモートデバッグする方法のメモです。

Pythonのバージョンは以下のとおり。

python --version

出力結果:

Python 3.10.8

必要ライブラリのインストール

# 必要ライブラリのインストール
python -m pip install ptvsd==4.3.2

実行スクリプトの作成

実行スクリプト(=デバッグしたいスクリプト)を仮で以下のとおり作成。

./sample.py
import sys

if __name__ == '__main__':
    print("Hello, " + sys.argv[1] + "!")

普通にスクリプトを実行する場合のコマンドは以下のとおり。

python ./sample.py "John"

出力結果:

Hello, John!

デバッグ設定を有効にしてスクリプトを実行

VSCode用のデバッグ設定ファイルを以下のとおり作成。

./.vscode/launch.json
{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Remote Attach",
      "type": "python",
      "request": "attach",
      "connect": {
        "host": "localhost",
        "port": 5678
      },
      "pathMappings": [
        {
          "localRoot": "${workspaceFolder}",
          "remoteRoot": "."
        }
      ],
      "justMyCode": true
    }
  ]
}

以下のコマンドでスクリプトをデバッグモードで実行。

python -m ptvsd --host 0.0.0.0 --port 5678 --wait ./sample.py "John"

その後、VSCodeのサイドパネルの「Run and Debug」を選択してデバッグメニューを表示し、
Python: Remote Attachを選択して実行ボタンをクリック。

すると、デバッグが開始され、ブレークポイントを設置していればそこで実行が停止してデバッグ可能。

Discussion