「Visual Studio CodeでPythonデバッグ実行」の版間の差分
提供: Eospedia
行36: | 行36: | ||
参考: https://stackoverflow.com/a/56270324 | 参考: https://stackoverflow.com/a/56270324 | ||
+ | |||
+ | == モジュールのデバッグ == | ||
+ | スクリプトではなくモジュール(インポートで呼び出される側のコード)をデバッグする場合は、モジュールとしてデバッグする。 | ||
+ | |||
+ | 例:ワークスペースフォルダに置いてあるinstamatic.server.tem_serverというモジュール (ファイルとしては${workspaceFolder}/instamatic/server/tem_server.py)をデバッグしたいとき | ||
+ | <pre> | ||
+ | { | ||
+ | // IntelliSense を使用して利用可能な属性を学べます。 | ||
+ | // 既存の属性の説明をホバーして表示します。 | ||
+ | // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 | ||
+ | "version": "0.2.0", | ||
+ | "configurations": [ | ||
+ | { | ||
+ | "name": "Python: debug tem_server module", | ||
+ | "type": "python", | ||
+ | "request": "launch", | ||
+ | "cwd": "${workspaceFolder}", | ||
+ | "module": "instamatic.server.tem_server" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> |
2020年5月29日 (金) 12:09時点における版
デバッガに環境変数を渡す
参考: VSCode 用のlaunch.jsonでデバッグコマンドに環境変数 / 引数 / フラグを渡す設定
launch.jsonに環境変数を記述すればよい。
例:PythonのモジュールサーチパスPYTHONPATHを追加する
{ // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Python: モジュール", "type": "python", "request": "launch", "module": "instamatic" }, { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "env": { "PYTHONPATH": "${workspaceFolder}" } } ] }
現在のデバッグ行に飛ぶ
コールスタックペインに表示されている一番上の項目をクリックすれば、現在デバッグしている行(正確にはこれから実行する行)に飛べる。デバッグ中にファイルをいろいろ移動して迷子になってしまったときに、デバッグ行に戻れる。
参考: https://stackoverflow.com/a/56270324
モジュールのデバッグ
スクリプトではなくモジュール(インポートで呼び出される側のコード)をデバッグする場合は、モジュールとしてデバッグする。
例:ワークスペースフォルダに置いてあるinstamatic.server.tem_serverというモジュール (ファイルとしては${workspaceFolder}/instamatic/server/tem_server.py)をデバッグしたいとき
{ // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Python: debug tem_server module", "type": "python", "request": "launch", "cwd": "${workspaceFolder}", "module": "instamatic.server.tem_server" } ] }