PyCharm基礎(chǔ)調(diào)試的教程
PyCharm 是一款強(qiáng)大的 Python 集成開發(fā)環(huán)境(IDE),提供了豐富的調(diào)試工具,幫助開發(fā)者在代碼中找到并解決問題。下面是我將詳細(xì)介紹 PyCharm 如何進(jìn)行調(diào)試:
一、斷點(diǎn)
斷點(diǎn)是在特定點(diǎn)暫停程序執(zhí)行的特殊標(biāo)記,以便于檢查程序狀態(tài)和行為。斷點(diǎn)可以很簡單(例如,在到達(dá)某一行代碼時(shí)掛起程序),也可以涉及更復(fù)雜的邏輯(檢查其他條件、編寫日志消息等)。
設(shè)置斷點(diǎn)后,斷點(diǎn)將保留在項(xiàng)目中,直到顯式刪除它(臨時(shí)斷點(diǎn)除外)。如果帶有斷點(diǎn)的文件在外部進(jìn)行了修改,例如,通過 VCS 更新或在外部編輯器中進(jìn)行了更改,并且行號(hào)已更改,則斷點(diǎn)將相應(yīng)地移動(dòng)。注意,在進(jìn)行此類更改時(shí),PyCharm 必須處于運(yùn)行狀態(tài),否則它們將被忽視。
1. 斷點(diǎn)的類型
a. 行斷點(diǎn)
在到達(dá)設(shè)置斷點(diǎn)的代碼行時(shí)掛起程序:可以在任何可執(zhí)行代碼行上設(shè)置這種類型的斷點(diǎn)。
b. 異常斷點(diǎn)
在拋出程序或其子類時(shí)掛起程序。在 PyCharm 中,您可以為 Python 異常設(shè)置斷點(diǎn)。對(duì)于 PyCharm Professional,可以使用 Django、Jinja2、JavaScript 和 Jupyter 異常斷點(diǎn)。它們?nèi)謶?yīng)用于異常條件,不需要特定的源代碼引用。Exception
2. 設(shè)置斷點(diǎn)
a. 設(shè)置行斷點(diǎn)
單擊要設(shè)置斷點(diǎn)的可執(zhí)行代碼行左側(cè)行號(hào)位置:
b. 設(shè)置異常斷點(diǎn)
- 壓
Ctrl+Shift+F8
或選擇“運(yùn)行”|”從主菜單查看斷點(diǎn)。 - 在“斷點(diǎn)”對(duì)話框中,按AltInsert或單擊 “添加”按鈕,然后選擇“Python 異常斷點(diǎn)”或“JavaScript 異常斷點(diǎn)”。
3. 管理斷點(diǎn)
a. 刪除斷點(diǎn)
- 對(duì)于非異常斷點(diǎn):單擊裝訂線中的斷點(diǎn)。
- 對(duì)于所有斷點(diǎn):轉(zhuǎn)到“運(yùn)行”|”查看斷點(diǎn)
Ctrl+Shift+F8
,選擇斷點(diǎn),然后單擊“刪除”Delete
.
b. 將斷點(diǎn)靜音
如果一段時(shí)間內(nèi)不需要在斷點(diǎn)處停留,可以將其靜音。這允許您在不離開調(diào)試器會(huì)話的情況下恢復(fù)正常的程序操作。之后,您可以取消靜音斷點(diǎn)并繼續(xù)調(diào)試。
單擊“調(diào)試”工具窗口工具欄中的“靜音斷點(diǎn)”按鈕
二、調(diào)試功能
0. 測試代碼
def calculate_sum(numbers): total = 0 for num in numbers: total += num # 在這里設(shè)置一個(gè)斷點(diǎn),以便在每次迭代時(shí)停止 # 觀察變量的值 print(f'Current total: {total}') return total if __name__ == "__main__": # 創(chuàng)建一個(gè)數(shù)字列表 my_numbers = [1, 2, 3, 4, 5] # 調(diào)用計(jì)算總和的函數(shù) result = calculate_sum(my_numbers) # 打印最終結(jié)果 print(f'The sum of the numbers is: {result}')
1. 設(shè)置斷點(diǎn)
在你想要觀察變量值的位置設(shè)置斷點(diǎn)。比如,我們?cè)O(shè)置一個(gè)斷點(diǎn)在print(f'Current total: {total}')
行上。
在行號(hào)左側(cè)單擊,將在該行設(shè)置一個(gè)紅色的斷點(diǎn)。
2. 調(diào)試的多種啟動(dòng)方式
快捷鍵:Shift+F9
(Fn+Shift+F9
)
點(diǎn)擊下圖“綠色小蟲子”按鈕
鼠標(biāo)右鍵點(diǎn)擊下圖“調(diào)試”
點(diǎn)擊菜單欄運(yùn)行
——調(diào)試
3. 觀察調(diào)試控制臺(tái)
上述操作完成后,PyCharm 將開始運(yùn)行代碼,當(dāng)執(zhí)行到斷點(diǎn)時(shí),會(huì)在調(diào)試控制臺(tái)中停下。在這里,你可以查看當(dāng)前的變量值和代碼狀態(tài),以及其他調(diào)試操作。
a. 步過
Step Over (F8): 執(zhí)行當(dāng)前行,如果當(dāng)前行是一個(gè)函數(shù),則不會(huì)進(jìn)入函數(shù)內(nèi)部。
步過
右側(cè)各圖標(biāo)依次如下,下面將不再截圖介紹
b. 步入
Step Into (F7): 進(jìn)入函數(shù)內(nèi)部執(zhí)行,如果當(dāng)前行不是一個(gè)函數(shù)調(diào)用,則表現(xiàn)和 Step Over 一樣。
c. 單步執(zhí)行代碼
d. 步出
Step Out (Shift + F8): 執(zhí)行完當(dāng)前函數(shù)的剩余部分,并停在調(diào)用該函數(shù)的地方。
e. 運(yùn)行到光標(biāo)處
Continue (F9): 繼續(xù)執(zhí)行程序,直到下一個(gè)斷點(diǎn)或者程序結(jié)束。
f. 重新啟動(dòng)程序
Restart (Ctrl + F5): 重新啟動(dòng)程序。(左側(cè)最上方"綠色回旋")
g. 停止調(diào)試
Stop (Ctrl + F2): 停止調(diào)試。(左側(cè)中間"紅色方框")
三、高級(jí)調(diào)試功能
PyCharm 還提供了一些高級(jí)調(diào)試功能,比如條件斷點(diǎn)、異常斷點(diǎn)、遠(yuǎn)程調(diào)試等,具體有待進(jìn)一步完善~
到此這篇關(guān)于PyCharm基礎(chǔ)調(diào)試的教程的文章就介紹到這了,更多相關(guān)PyCharm基礎(chǔ)調(diào)試內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Pycharm遠(yuǎn)程連接服務(wù)器并運(yùn)行與調(diào)試
- 使用PyCharm調(diào)試程序?qū)崿F(xiàn)過程
- pycharm2022.2遠(yuǎn)程連接服務(wù)器調(diào)試代碼實(shí)現(xiàn)
- Pycharm直接使用遠(yuǎn)程服務(wù)器代碼并調(diào)試的解決方法
- pycharm調(diào)試功能如何實(shí)現(xiàn)跳到循環(huán)的某一步
- pycharm的debug調(diào)試以及異常,Python中錯(cuò)誤的處理過程
- pycharm中加了斷點(diǎn)卻無法調(diào)試,直接執(zhí)行到程序結(jié)束如何解決
相關(guān)文章
jupyter代碼塊沒有運(yùn)行圖標(biāo)的解決方案
這篇文章主要介紹了jupyter代碼塊沒有運(yùn)行圖標(biāo)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04Django框架基礎(chǔ)模板標(biāo)簽與filter使用方法詳解
這篇文章主要介紹了Django框架基礎(chǔ)模板標(biāo)簽與filter使用方法,簡單分析了Django模板基本語法、函數(shù)與自定義filter相關(guān)使用技巧,需要的朋友可以參考下2019-07-07Python的Matplotlib庫圖像復(fù)現(xiàn)學(xué)習(xí)
這篇文章主要給大家介紹了關(guān)于如何利用Matplotlib庫圖像復(fù)現(xiàn),matplotlib模塊提供了很高級(jí)和非常友好的使用方式,使用起來也是非常方便的,需要的朋友可以參考下2021-08-08