「Visual Studio CodeでPythonデバッグ実行」の版間の差分
提供: Eospedia
| (同じ利用者による、間の3版が非表示) | |||
| 行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でデバッグコマンドに環境変数 / 引数 / フラグを渡す設定] | ||
| 行32: | 行36: | ||
</pre> | </pre> | ||
| + | * Windowsの場合 | ||
| + | ** ディレクトリのセパレータはバックスラッシュだが、あとに続く文字によっては特殊文字と見なされてしまうので、バックスラッシュは二重にして書く。 | ||
| + | ** パスを続けて2つ以上書く場合、例えば次のようにする。 | ||
| + | <pre> | ||
| + | "env": { | ||
| + | "PYTHONPATH": "${workspaceFolder};C:\\Users\\hogeta\\hoge\\fuga" | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | == モジュールのデバッグ == | ||
| + | スクリプトではなくモジュール(インポートで呼び出される側のコード)をデバッグする場合は、モジュールとしてデバッグする。 | ||
| + | |||
| + | 例:ワークスペースフォルダに置いてある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> | ||
| + | |||
| + | == 標準ライブラリや外部ライブラリの中までステップインする == | ||
| + | デバッグの設定ファイルであるlaunch.jsonにて、justMyCodeオプションをFalseとすればよい、とのこと | ||
| + | |||
| + | 参考: https://srbrnote.work/archives/4231 | ||
| + | |||
| + | = '''デバッガ使い方''' = | ||
== 現在のデバッグ行に飛ぶ == | == 現在のデバッグ行に飛ぶ == | ||
コールスタックペインに表示されている一番上の項目をクリックすれば、現在デバッグしている行(正確にはこれから実行する行)に飛べる。デバッグ中にファイルをいろいろ移動して迷子になってしまったときに、デバッグ行に戻れる。 | コールスタックペインに表示されている一番上の項目をクリックすれば、現在デバッグしている行(正確にはこれから実行する行)に飛べる。デバッグ中にファイルをいろいろ移動して迷子になってしまったときに、デバッグ行に戻れる。 | ||
参考: https://stackoverflow.com/a/56270324 | 参考: 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