「Visual Studio CodeでPythonデバッグ実行」の版間の差分

提供: Eospedia
移動: 案内検索
(デバッガに環境変数を渡す)
 
行1: 行1:
 +
= '''デバッグ設定ファイル launch.json''' =
 +
== launch.jsonで使える定義済み変数 ==
 +
https://code.visualstudio.com/docs/editor/variables-reference
 +
 
== デバッガに環境変数を渡す ==
 
== デバッガに環境変数を渡す ==
 
参考: [https://qiita.com/YumaInaura/items/72c1c68e22c71f37cdd3#%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0%E3%82%92%E6%B8%A1%E3%81%99 VSCode 用のlaunch.jsonでデバッグコマンドに環境変数 / 引数 / フラグを渡す設定]
 
参考: [https://qiita.com/YumaInaura/items/72c1c68e22c71f37cdd3#%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0%E3%82%92%E6%B8%A1%E3%81%99 VSCode 用のlaunch.jsonでデバッグコマンドに環境変数 / 引数 / フラグを渡す設定]
行40: 行44:
 
             }
 
             }
 
</pre>
 
</pre>
 
== 現在のデバッグ行に飛ぶ ==
 
コールスタックペインに表示されている一番上の項目をクリックすれば、現在デバッグしている行(正確にはこれから実行する行)に飛べる。デバッグ中にファイルをいろいろ移動して迷子になってしまったときに、デバッグ行に戻れる。
 
 
参考: https://stackoverflow.com/a/56270324
 
  
 
== モジュールのデバッグ ==
 
== モジュールのデバッグ ==
行72: 行71:
  
 
参考: https://srbrnote.work/archives/4231
 
参考: https://srbrnote.work/archives/4231
 +
 +
= '''デバッガ使い方''' =
 +
== 現在のデバッグ行に飛ぶ ==
 +
コールスタックペインに表示されている一番上の項目をクリックすれば、現在デバッグしている行(正確にはこれから実行する行)に飛べる。デバッグ中にファイルをいろいろ移動して迷子になってしまったときに、デバッグ行に戻れる。
 +
 +
参考: https://stackoverflow.com/a/56270324

2020年11月20日 (金) 06:18時点における最新版

デバッグ設定ファイル launch.json

launch.jsonで使える定義済み変数

https://code.visualstudio.com/docs/editor/variables-reference

デバッガに環境変数を渡す

参考: 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}"
            }
        }
    ]
}
  • Windowsの場合
    • ディレクトリのセパレータはバックスラッシュだが、あとに続く文字によっては特殊文字と見なされてしまうので、バックスラッシュは二重にして書く。
    • パスを続けて2つ以上書く場合、例えば次のようにする。
            "env": {
                "PYTHONPATH": "${workspaceFolder};C:\\Users\\hogeta\\hoge\\fuga"
            }

モジュールのデバッグ

スクリプトではなくモジュール(インポートで呼び出される側のコード)をデバッグする場合は、モジュールとしてデバッグする。

例:ワークスペースフォルダに置いてある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"
        }
    ]
}

標準ライブラリや外部ライブラリの中までステップインする

デバッグの設定ファイルであるlaunch.jsonにて、justMyCodeオプションをFalseとすればよい、とのこと

参考: https://srbrnote.work/archives/4231

デバッガ使い方

現在のデバッグ行に飛ぶ

コールスタックペインに表示されている一番上の項目をクリックすれば、現在デバッグしている行(正確にはこれから実行する行)に飛べる。デバッグ中にファイルをいろいろ移動して迷子になってしまったときに、デバッグ行に戻れる。

参考: https://stackoverflow.com/a/56270324