VSCodeで.vscodeに記載した内容でのpythonのデバッグが出来なくなった。

kts 20 評価のポイント
2026-09-17T18:30:09.9233333+00:00

QGISのpythonプラグインのプログラミングをしていたのですが、先週くらいからかデバッグが出来なくなりました。 どのようにすれば出来るようになるのでしょうか。

デバッグを開始すると、実行状態になるのですが、アタッチするプロセスの選択の一覧が表示されません。 以前までは同じ設定でデバッグできていました。

デバッグできなかったら開発効率が下がってしまうのでどうにかしたいです。

launch.jsonの設定内容は以下です。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach QGIS",
            "type": "debugpy",
            "request": "attach",
            "processId": "${command:pickProcess}",
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}/plugin_test",
                    "remoteRoot": "${env:APPDATA}/QGIS/QGIS3/profiles/default/python/plugins/plugin_test"
                }
            ],
            "justMyCode": true
        }
    ]
}

settings.jsonの設定内容は以下です。

{
    "python.analysis.extraPaths": [
        "C:\\Program Files\\QGIS 3.34.10\\apps\\qgis-ltr\\python",
 //       "C:\\Program Files\\QGIS 3.34.10\\apps\\Python312",
    ],
    "files.associations": {
        "metadata.txt": "ini",
        "*.qrc": "xml",
        "*.ui": "xml"
    },
    "terminal.integrated.defaultProfile.windows": "OSGeo4W Shell",
    "terminal.integrated.profiles.windows": {
        "OSGeo4W Shell": {
            "path": "${env:ComSpec}",
            "args": [
                "/k",
                "C:\\Program Files\\QGIS 3.34.10\\OSGeo4W.bat;popd",
            ],
            "icon": "terminal-cmd"
        }
    },
}
開発者テクノロジ | Visual Studio | その他
開発者テクノロジ | Visual Studio | その他

Windows、Web、モバイル デバイス、その他多くのプラットフォーム向けのアプリケーションを構築するための、マイクロソフトが提供する統合開発ツール スイートのファミリーです。 特定のカテゴリに適合しないその他のトピック。


質問作成者が受け入れた回答
gekka 14,551 評価のポイント MVP ボランティア モデレーター
2026-09-18T09:14:59.7933333+00:00

C:\Windows\System32\wbem\wmic.exeが無くなってませんか?

pythonのデバッガがWMICを使ってプロセス列挙しているので、Windowsが更新されてWMICが削除されたらプロセス列挙できなくなります。

github


拡張機能のPython Debuggerで歯車から「特定のバージョンをダウンロード」で新しめのVSIXを入手してやれば、もしかしたら修正されているかもしれない。

あるいはgithubのリポジトリから自分で修正してVISXをつくるか。

Microsoftは軽減策としてwmic_dlc.zipというのを用意しているようなので、これを配置するか。


それでもだめなら、以下のコマンドで返ってくる文字列と同じ書式でプロセス一覧を返す偽のexeを作って、ここに配置してやればとりあえずはプロセス列挙できるようになります。

wmic process get Name,ProcessId,CommandLine /Format:list

# このコマンド以外を無視するようにしないと危険だけどね

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。

0 件の追加の回答

並べ替え方法: 最も役に立つ

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "推奨" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。