VSCode中安装以下插件

  • ms-python.python:python调试
  • ms-python.vscode-pylance:代码跳转(非必要)

配置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“,随后再次启动调试即可。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/920837.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/920837.shtml
英文地址,请注明出处:http://en.pswp.cn/news/920837.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动作指令活体检测通过动态交互验证真实活人,保障安全

在当今社会&#xff0c;人脸识别技术已深入日常生活的方方面面&#xff0c;从手机解锁、移动支付到远程开户、门禁考勤&#xff0c;人脸识别技术已无处不在。然而&#xff0c;这项技术也面临着严峻的安全挑战&#xff1a;打印照片、播放视频、制作3D面具等简单的“欺骗手段”都…

KingbaseES数据库:开发基础教程,从部署到安全的全方位实践

KingbaseES数据库&#xff1a;开发基础教程&#xff0c;从部署到安全的全方位实践 KingbaseES数据库&#xff1a;开发基础教程&#xff0c;从部署到安全的全方位实践&#xff0c;本文围绕 KingbaseES 数据库开发核心基础展开。先介绍三种部署模式&#xff0c;即单机、双机热备、…

安装nodejs安装node.js安装教程(Windows Linux)

文章目录Linux**一、下载 Node.js**1. **访问官网**&#xff1a;2. **选择版本**&#xff1a;**二、安装 Node.js****方法 1&#xff1a;使用包管理器&#xff08;推荐&#xff09;****Ubuntu/Debian 系统**1. **更新包列表**&#xff1a;2. **安装 Node.js**&#xff1a;3. **…

shell脚本函数介绍

1. 函数 (Functions)定义与优势函数是可重复使用的功能模块优势&#xff1a;代码复用&#xff0c;直接调用解决问题分类内置函数&#xff1a;编程语言自带的函数&#xff08;如 print&#xff09;自定义函数&#xff1a;程序员自己编写的函数定义语法# 方式一 function 函数名(…

DAY 20 奇异值SVD分解-2025.9.1

奇异值SVD分解 知识点回顾&#xff1a; 线性代数概念回顾奇异值推导奇异值的应用 a. 特征降维&#xff1a;对高维数据减小计算量、可视化 b. 数据重构&#xff1a;比如重构信号、重构图像&#xff08;可以实现有损压缩&#xff0c;k 越小压缩率越高&#xff0c;但图像质量损失…

《C++——定长内存池》

一、为什么需要内存池&#xff1f; 常规的new/delete操作存在两个主要问题&#xff1a; 性能开销大&#xff1a;每次new都需要向操作系统申请内存&#xff0c;delete需要归还给系统&#xff0c;这涉及内核态与用户态的切换&#xff0c;在高频次调用时性能损耗明显。 内存碎片&a…

【跨境电商】上中下游解释,以宠物行业为例

上中下游概念及其在宠物行业的应用 在产业链分析中&#xff0c;“上中下游”指的是一个产品或服务的不同环节&#xff1a;上游涉及原材料供应和基础资源&#xff0c;中游负责生产加工和制造&#xff0c;下游则包括销售、分销和服务。这种划分有助于理解整个价值链的运作。下面&…

飞牛NAS上部署Markdown文稿编辑器,阅读.md文件同时还可以跨平台访问!

前言前段时间小白在使用.md文件的阅读器&#xff0c;好像是什么*ypor*&#xff0c;但是这个软件它收费。&#xff08;也不是找不到PJ版本&#xff0c;只是感觉这是人家的知识产权&#xff0c;就不整了。&#xff09;于是小白在寻找能够代替这个软件的其他软件&#xff0c;而且如…

浅谈 SQL 窗口函数:ROW_NUMBER() 与聚合函数的妙用

在日常开发中&#xff0c;我们经常会遇到这样的需求&#xff1a;既要保留明细数据&#xff0c;又要对数据进行排名、累计、分区统计。如果仅依赖传统的 GROUP BY&#xff0c;往往需要做多次子查询或者复杂的 JOIN&#xff0c;既繁琐又低效。 而 窗口函数&#xff08;Window Fun…

DSPFilters实现低通滤波器(QT)

DSPFilters实现低通滤波器DSPFilters实现低通滤波器DSPFilters安装-构建静态库QT代码复制include和静态库到qt项目qt代码配置效果DSPFilters实现低通滤波器 https://github.com/vinniefalco/DSPFilters DSPFilters安装-构建静态库 用 Qt 自带的 MinGW&#xff08;最简单&…

mybatis plus 基本使用和源码解析

简介 mybatis-plus是一款mybatis增强工具&#xff0c;用于简化开发&#xff0c;提高效率。mybatis-plus免去了用户编写sql的麻烦&#xff0c;只需要创建好实体类&#xff0c;并创建一个继承自BaseMapper的接口&#xff0c;mybatis就可以自动生成关于单表的crud。mybatis-plus自…

【Android】Notification 的基本使用

文章目录【Android】Notification的基本使用权限通知的基本使用1. 获取通知管理器&#xff08;用于发送、更新、取消通知&#xff09;2. 创建通知渠道&#xff08;Android 8.0 必须&#xff09;3. 使用通知3.1 发送通知3.2 更新通知3.3 取消通知通知的进阶技巧通知显示样式1. B…

Web前端开发基础

1.前端概论 1.1 什么是前端&#xff1f; 概念&#xff1a;前端(Front-End)&#xff0c;也称为客户端(Client-Side)&#xff0c;指的是用户在使用网站或Web应用时直接看到并与之交互的部分。它涵盖了屏幕上的一切内容&#xff0c;从文字、图片、按钮、布局到动画效果 一个简单的…

并发编程——11 并发容器(Map、List、Set)实战及其原理分析

1 JUC包下的并发容器Java 基础集合&#xff08;如 ArrayList、LinkedList、HashMap&#xff09;非线程安全。为了解决线程安全问题&#xff0c;Java 最初提供了同步容器&#xff08;如 Vector、Hashtable、SynchronizedList&#xff09;&#xff0c;但它们通过 synchronized 实…

Circuitjs 测试点的使用

在电路中, 有时候我们想知道, 各个节点上电压的具体的值. 比如下面这个电路:电流流经两个电阻器之后, 电压在下降. 如果想知道具体节点电压的确切数值, 可以通过添加 测试点(Test Point) 实现. 点击 绘制–输出和标签–添加测试点, 之后在所需测量的节点上拖动添加一个测试点, …

Ansible Playbook 实践

Ansible Playbook 实践一、Playbook 基础规范&#xff08;一&#xff09;YAML 格式要求文件标识&#xff1a;以 --- 开头&#xff0c;明确为 YAML 文件&#xff0c;结尾可加 ...&#xff08;可选&#xff0c;用于标记文件结束&#xff09;。注释规则&#xff1a;用 # 实现注释&…

基于 Vue + Interact.js 实现可拖拽缩放柜子设计器

实现可视化设计工具已成为前端开发的重要挑战之一。本文将介绍如何使用 Vue.js 配合 Interact.js 库创建一个功能完整的橱柜设计器&#xff0c;兼容PC和移动终端。核心功能网格系统&#xff1a;基于 CSS 网格实现精准定位拖拽功能&#xff1a;实现单元格的自由移动缩放控制&…

今日科技速递 | 智能芯片突围、AI+行动深化、服贸会科技成果亮相

今日科技速递 | 智能芯片突围、AI行动深化、服贸会科技成果亮相 一、乐鑫科技涨停&#xff1a;Wi-Fi 6/7 与 AIoT 芯片双路径创新驱动 新闻回顾 2025 年 8 月 27 日&#xff0c;科创板公司 乐鑫科技&#xff08;688018&#xff09; 盘中一度涨停&#xff0c;股价达到 225 元&am…

PDF压缩如何平衡质量与体积?

在日常工作或者生活中&#xff0c;我们常常要处理PDF文档&#xff0c;很多人可能会遇到这样的困扰&#xff1f;使用WPS处理PDF时&#xff0c;部分功能需要付费&#xff0c;这给我们带来了许多不便。 它的使用方式十分简单&#xff0c;你只要双击图标&#xff0c;它就能启动&am…

Flask 之上下文详解:从原理到实战

一、引言&#xff1a;为什么 Flask 需要“上下文”&#xff1f;在 Web 开发中&#xff0c;我们经常需要访问当前请求的信息&#xff08;如 URL、表单数据&#xff09;、当前应用实例&#xff08;如配置、数据库连接&#xff09;或用户会话状态。传统做法是使用全局变量&#xf…