我需要在vscode中调试python 程序,python 程序的启动方式 是 python -m 这种通过模块运行的,我应该如何配置才能进行调试

2024-02-23by@Marlboro&@ChatGPT.Model: gpt-4
Marlboro

我需要在vscode中调试python 程序,python 程序的启动方式 是 python -m 这种通过模块运行的,我应该如何配置才能进行调试

Avatar
Avatar

在Visual Studio Code中进行Python调试时,如果你需要通过模块启动程序(例如 python -m mymodule),你可以在工作区的 .vscode/launch.json 配置文件中指定 "module" 属性来配置调试会话。

以下是步骤和示例配置:

  1. 打开你的Python项目的根目录在VS Code中。

  2. 点击侧边栏的“调试”视图或按下 Ctrl+Shift+D(在macOS上是 Cmd+Shift+D)。

  3. 点击“创建 launch.json 文件”按钮,选择Python环境。这将在你的项目中创建一个 .vscode 文件夹(如果尚不存在的话)和一个 launch.json 配置文件。

  4. 修改生成的 launch.json 文件,添加一个配置来运行你的模块。例如,如果你想运行名为 mymodule 的模块,配置可能看起来像这样:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Module",
            "type": "python",
            "request": "launch",
            "module": "mymodule",  // 这里填写你想运行的模块名
            "console": "integratedTerminal"
        }
    ]
}
  1. 保存 launch.json 文件。

  2. 启动调试会话,选择你刚刚创建的配置(例如,“Python: Module”),然后按下 F5 或点击调试视图中的绿色启动按钮。

这将以调试模式启动你的Python模块。VS Code调试器将会附加到你的程序,你可以设置断点、查看变量、单步执行代码等。

请确保你的模块可以通过 -m 正常运行,如果模块名称或路径有误,调试会话将无法正确启动。

如果你需要传递任何命令行参数给模块,你可以在 launch.json 的配置中添加 "args" 属性,例如:

{
    "name": "Python: Module with Args",
    "type": "python",
    "request": "launch",
    "module": "mymodule",
    "args": ["arg1", "arg2"],  // 添加你需要传递的参数
    "console": "integratedTerminal"
}

通过正确配置 launch.json,你可以很容易地在VS Code中调试通过模块启动的Python程序。