VSCode中调试python脚本

发布于:2025-09-01 ⋅ 阅读:(12) ⋅ 点赞:(0)

VSCode中安装以下插件

配置launch.json

在当前工作区,按此路径.vscode\launch.json新建launch.json文件,并配置以下参数:

  • type:python
  • request:launch
  • console:integratedTerminal
  • justMyCode:设置为true,表示只调试自己的python脚本
  • program:配置为当前文件即可,${file}
  • “args”:配置python脚本所需要传入的参数。
{
  // 使用 IntelliSense 了解相关属性。 
  // 悬停以查看现有属性的描述。
  // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "调试当前python脚本",
      "type": "python",
      "request": "launch",
      "console": "integratedTerminal",
      "justMyCode": true,
      "program": "${file}",
      "args": [
        "-Y", "PCD",
        "-Y", "LIBRARY",
        "-Y", "FLASH",
        "-Y", "DEPEX",
        "-Y", "BUILD_FLAGS",
        "-Y", "FIXED_ADDRESS",
        "-Y", "HASH",
        "-Y", "COMPILE_INFO",
        "-y", "BuildReport.log",
        "-j", "BuildConsole.log",
        "-p", "OvmfPkg\\OvmfPkgIa32X64.dsc",
        "-a", "IA32",
        "-a", "X64",
        "-b", "NOOPT",
        "-D", "SECURE_BOOT_ENABLE=TRUE",
        "-D", "NETWORK_IP6_ENABLE=TRUE",
        "-D", "NETWORK_HTTP_BOOT_ENABLE=TRUE",
        "-D", "SMM_REQUIRE=TRUE",
        "-D", "DEBUG_ON_SERIAL_PORT",
        "-D", "SOURCE_DEBUG_ENABLE=TRUE",
        "-t", "VS2019"
      ]
    }
  ]
}

设置断点

打开需要调试的 python脚本,在行号处,右键。选择“添加断点”即可
在这里插入图片描述

启动调试

下面以调试EDK2的构建脚本build.py为例。

  • 点击左侧工具栏的运行和调试按钮,调出其控制面板
  • 在控制面板右上角,选择调试当前python脚本,随后点击“▷”按钮,启动调试

首次启动,会出现如下错误:未找到某些module。

发生异常: ModuleNotFoundError
No module named 'AutoGen'
  File "E:\JasonEDK2\BaseTools\Source\Python\build\build.py", line 34, in <module>
    from AutoGen.PlatformAutoGen import PlatformAutoGen
ModuleNotFoundError: No module named 'AutoGen'

这是由于未跑edksetup.bat初始化编译环境导致的。

此时点击右上角的调试按钮 “▢”中止此次调试,在下图中的“终端”对话框中执行 ”edksetup.bat“,随后再次启动调试即可。

在这里插入图片描述