VSCode中調試python腳本

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…