国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù)

這篇具有很好參考價值的文章主要介紹了如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Visiul Studio Code, 簡稱vscode,是一款輕量級代碼編輯器,其豐富的擴展程序使得其可以方便地作為任何語言的編輯器。

本文將講述如何在vscode中對python腳本文件進行debug。

本文主要包括debug的兩種方式:

  • 基本debugging(basic debugging):可以解決大部分情況
  • 命令行debugging(command line debugging): 用于需要傳參數(shù)繁多或者遠程調試的程序

如難以理解或出現(xiàn)錯誤歡迎指正

0 要求

在vscode擴展(extension)如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù),vscode,python
中先安裝Python擴展。

如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù),vscode,python

Python擴展提供了python的語法,運行,環(huán)境選擇等支持,是vscode寫python代碼的一個好助手。

安裝完Python擴展后,打開python腳本文件則會在右下角(低版本可能在左下角)出現(xiàn)環(huán)境設置以選擇你想用的python解釋器如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù),vscode,python
而右上角則會出現(xiàn)運行和debug的選項。

1 基本debugging

  • 如果你只是想簡單地debug程序,沒有其他需求,可以直接打斷點,然后右上角點擊debug,程序會自動地debug當前打開的python文件。
    如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù),vscode,python

  • 如果你想定制化一些debug選項,則按照以下步驟進行:

    1. 側邊欄選擇運行和調試如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù),vscode,python

    2. 如果你已有dubug配置文件,則跳3. 否則請先創(chuàng)建一個launch.json文件如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù),vscode,python
      并選擇配置文件為python文件如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù),vscode,python

    3. 此時你的工作目錄下會多一個目錄.vscode和該目錄下一個launch.json文件,該文件則配置了你的debug配置。在運行和調試側邊欄中點擊綠色三角則啟動debug程序如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù),vscode,python

2 debug配置文件

vscode依靠.vscode目錄下的launch.json來管理你的debugger程序,下面是一個該文件的實例:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "justMyCode": true
        }
    ]
}

其中"configurations"中的一個實例則為一個debugger程序配置,當想增加多個debugger程序時(如你可能需要兩組不同的參數(shù)分別來debug,而不想每次都修改),則可以在"configurations"新加一個配置文件,如下所示:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Current File",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal",
      "justMyCode": true
    },
    {
      "name": "the second debugger",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal",
      "justMyCode": true
    }
  ]
}

下面將說明每個debugger配置中鍵值的含義:

name

name是該debugger的名字,會顯示在運行和調試側邊欄中的下拉框中,比如上面的配置文件則會有以下的下拉框:

如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù),vscode,python

選擇對應的debugger,并點擊綠色三角則可以啟動對應的debugger。

type

設置使用什么的debugger,設為python,無需修改。

request

調試模式,可選:

  • launch: 在program指定的文件上啟動debugger
  • attach: 將debugger附到(注入到)一個正在運行的python進程上。用以遠程debug,也可以用來解決多參數(shù)問題,具體請參考后面的部分。

program

提供具體想要debugger去運行的python腳本文件,可以是相對路徑也可以是絕對路徑,比如上面配置文件中的${file}代表當前vscode激活的文件(即當前打開的,而且輸入光標所在的文件),也可以指定某特定文件,如設置

"program": "${workspaceFolder}/main.py"

則代表在工作目錄下的main.py上啟動debugger。

module

指定需要debug的module,等價于命令行中-m參數(shù),具體可參考Python.org,一般無需關心。

python

指定需要的解釋器路徑,如果沒有指定則默認為當前工作空間選擇的解釋器(即在你打開python文件時,右下角指定的python解釋器)

pythonArgs

數(shù)組類型

需要傳給解釋器(不是python腳本)的參數(shù),通過數(shù)組給出,如下所示"pythonArgs": ["<arg 1>", "<arg 2>",...].

args

數(shù)組類型

傳給python腳本的參數(shù)(請與上面的pythonArgs進行區(qū)分),通過數(shù)組給出,如下所示"args": ["--quiet", "--norepeat", "--port", "1593"]。

注意:每個參數(shù)必須為單獨一項,不得出現(xiàn)"--port 1593"的情形,如果參數(shù)過多,可以參考下面命令行debugging的方式。

stopOnEntry

布爾類型

當設為true,則會自動在被debug的程序上第一行代碼停止,忽略或者設為false則在第一個斷點停止。

console

如果不指定redirectOutput的情況下,程序的輸出會輸出到哪里

輸出位置
"internalConsole" vscode的debug輸出控制臺
"integratedTerminal" (default) vscode的集成終端
"externalTerminal" 分離的一個輸出窗口

autoReload

當修改了代碼后,是否自動重啟debug程序,啟動方式如下:

{
  "autoReload": {
    "enable": true
  }
}

subProcess

是否開啟子程序debug,默認false。

cwd

設置debugger工作目錄,如果不指定則默認為vscode的工作目錄,會影響你代碼中相對路徑。

redirectOutput

是否重定向輸出到調試控制窗,即下圖該窗口中:

如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù),vscode,python

justMyCode

忽略或者設為true則只會在用戶寫的代碼停留,設為false則會debug標準庫。

3 命令行debugging

命令行debugging用以遠程debug,或者debug正在運行中的程序,我一般用來解決傳參過多問題。

當需要給腳本文件傳參,而參數(shù)過多時,需要一個一個給配置文件中的args添加,非常麻煩,所以可以選擇直接運行程序,再進行debug捕捉的方式。

首先在配置文件中加入下面的配置實例:

{
  "name": "Python: Attach",
  "type": "python",
  "request": "attach",
  "connect": {
    "host": "localhost",
    "port": 5678
  }
}

其次在當前環(huán)境中安裝debugpy,如pip install debugpy.

通過下面的語法運行想要debug的文件(提前打斷點):

python -m debugpy --listen 5678 --wait-for-client ./myscript.py

然后在運行和調試側邊欄中的下拉框中選擇相應的debugger并啟動,則會自動捕捉該程序并進行debug,如下所示:

如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù),vscode,python

該方法在對remote-ssh連接的遠程服務器代碼進行debug時,不需要指定服務器域名和ip,當作本地即可。

技巧

下圖給出了一些我常用的debug功能,僅供參考

如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù),vscode,python

參考文獻

vscode官方文檔文章來源地址http://www.zghlxwxcb.cn/news/detail-671904.html

到了這里,關于如何在vscode中debug python代碼,包括如何優(yōu)雅地傳入多個參數(shù)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【Python】在同一圖形中更加優(yōu)雅地繪制多個子圖

    【Python】在同一圖形中更加優(yōu)雅地繪制多個子圖

    數(shù)據(jù)可視化非常重要,有一句俗語叫做 一圖頂千言 ,我相信好多小伙伴應該都聽說過這句話;即使是有人第一次聽到,我想應該也會覺得贊成,這足以說明數(shù)據(jù)可視化的重要性。我們在前一篇博客中,介紹了如何利用 subplot 來在一張子圖里繪制多個子圖,最近我又發(fā)現(xiàn)了一

    2024年02月11日
    瀏覽(16)
  • 如何在VSCode中優(yōu)雅地書寫Verilog

    如何在VSCode中優(yōu)雅地書寫Verilog

    安裝Verilog-HDL/SystemVerilog/Bluespec SystemVerilog插件實現(xiàn)語法高亮、定義跳轉、代碼檢錯 配置方法: 1.打開配置界面. 2.在Ctags路徑選項的框內填入ctags.exe所在路徑.(實現(xiàn)定義跳轉功能) 3.語法檢查選項,檢查器選擇modelsim,并選擇Modelsim的工作庫所在位置.(實現(xiàn)語法檢查) 工作庫的建

    2024年04月28日
    瀏覽(32)
  • vscode python remote debug極速入門

    vscode python remote debug極速入門

    主要適用于debug python 程序,尤其是深度學習剛入門需要使用remote 連接到linux進行程序運行,想調試一下的同學。 當然非深度學習也可以參考食用本文哈哈哈。 提前準備:代碼倉庫已經(jīng)拉取到linux上面,且已經(jīng)知道運行的方式。 比如: 項目的啟動命令為: python pretrain.py --d

    2024年02月05日
    瀏覽(25)
  • VSCode-Python傳參數(shù)進行Debug

    VSCode-Python傳參數(shù)進行Debug

    新建demo.py 命令行運行 python demo.py --host 127.0.0.1 --port 22 --user root 可以看到輸出結果 在vscode點擊debug的圖標--create a launch.json file---python File 初始的json文件如下: Ctrl+shif+p切換python環(huán)境并更改./vscode/launch.json如下 之后打斷點按F5或者Run--Start Debugging 就可以了

    2024年02月13日
    瀏覽(24)
  • vscode-python的debug 教學(最全)

    vscode-python的debug 教學(最全)

    Visual Studio Code 的主要功能之一是其強大的調試支持。VS Code 的內置調試器有助于加速編輯、編譯和調試循環(huán)。 在插件庫內搜索python Debugger,安裝插件 (1)創(chuàng)建debug_learning.py測試文件 (2)設置斷點 (2)啟動debug模式 (3)debug的各個按鈕的介紹 開始調試 以下文檔基于內置的

    2024年04月11日
    瀏覽(15)
  • 【bug】vscode python 3.6 無法debug 解決方案

    【bug】vscode python 3.6 無法debug 解決方案

    某個環(huán)境是使用python 3.6 安裝的,vscode沒法調試。是由于python插件太新了,直接下載一個,用VSIX安裝 1.下載python 拓展包 https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-python/vsextensions/python/2022.6.0/vspackage 2.可以將2022.6.0更改為指定版本,2022.6.0經(jīng)過測試支持python 3.6 在v

    2024年02月11日
    瀏覽(50)
  • vscode debug python launch.json添加args不起作用

    vscode debug python launch.json添加args不起作用

    為了帶入?yún)?shù)調試python 程序,按照網(wǎng)上搜到的教程配置了lauch.json文件,文件中添加了\\\"args\\\": [“model” “0” “path”] 但是點擊debug按鈕,并沒有讀取到launch文件中的args參數(shù),python中打印len(sys.argv)依然等于1。 參考:vscode-python 中的 issues vscode-doc: Python debugging in VS Code 簡單來說

    2024年02月09日
    瀏覽(28)
  • VScode 調試python程序,debug狀態(tài)閃斷問題的解決方法

    VScode 調試python程序,debug狀態(tài)閃斷問題的解決方法

    0. Few words 之前一直在VSCode中debug C++和Python的程序沒出過閃斷的問題,但是最近在另一臺電腦上debug,同樣的方法,設置launch.json和CMakeList加debug狀態(tài)等等操作,如我另一篇blog寫的一樣,可以點這里查看。 但是,就是同樣的方法,debug C++的程序沒問題,就是debug python的程序就會

    2024年02月10日
    瀏覽(24)
  • 從根本上優(yōu)雅地解決 VSCode 中的 Python 模塊導入問題

    從根本上優(yōu)雅地解決 VSCode 中的 Python 模塊導入問題

    整體概述: 在我嘗試運行 test_deal_file.py 時,我遇到了一個 ModuleNotFoundError 錯誤,Python告訴我找不到名為 controllers 的模塊。這意味著我無法從 deal_file.py 中導入 read_excel 函數(shù)。 為了解決這個問題,我嘗試了幾種方法。 首先,我使用了相對導入,這在不改變當前工作目錄的情況

    2024年04月17日
    瀏覽(20)
  • 【BUG解決】vscode debug python launch.json添加args不起作用

    為了帶入?yún)?shù)調試python 程序,點擊了ui界面右上角的debug按鈕,配置了lauch.json文件。按照網(wǎng)上搜到的教程添加了 \\\"args\\\": 但是點擊ui界面的debug按鈕,發(fā)現(xiàn)配置的參數(shù)并不起作用。 原因: 在 vscode-python 項目的issue和issue里找到答案。 省流:ui界面右上角的debug按鈕是一個擴展插件

    2024年02月16日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包