搜尋
首頁後端開發Python教學Pycharm入門基礎之程式碼調試

Pycharm入門基礎之程式碼調試

May 12, 2017 am 10:39 AM
pycharm程式碼偵錯程式碼運行

這篇文章主要為大家詳細介紹了最全的Pycharm學習教程第三篇程式碼運行調試,具有一定的參考價值,有興趣的小伙伴們可以參考一下

Pycharm代碼運行調試,具體內容如下

1、準備工作

  (1)Python版本為2.7或更高版本

  (2)已經創建了一個Python工程並且添加了內容,具體參考: Getting Started tutorial

2、第一步-執行程式碼

  開啟之前所寫的Solver.py文件,在編輯框中右鍵,選擇快捷選單中的「Run 'Solver'”選項。

  此時腳本檔案正常運作並在偵錯工具視窗中顯示程式的輸出值:

  接下來我們對這兩步驟操作的具體內容做詳細的解釋。

3、什麼是Run/Debug模式

  每個需要運行/調試的腳本檔案都需要一個特殊的設定檔來指定其腳本名稱、所在目錄以及其他重要的運行調試資訊。 Pycharm已經整合了這種設定文件,避免使用者手動去建立。

  每次當你單擊Run或Debug按鈕時(或在快捷選單中執行相同操作),實際上都是將目前的運行/偵錯設定檔載入到目前的調試模型中。

  如果你仔細觀察第一張圖片就會發現,在組合框中根本就沒有 run/debug的相關訊息,知道第二張圖片中它們才出現。這就意味著當執行運行/調試命令的時候,Solver腳本的run/debug配置檔案才會自動生成,正如現在所顯示的那樣。

  此時再主工具列中Run(綠色箭頭按鈕)和Debug(綠色甲蟲按鈕)兩個按鈕變得可用:

  同時這兩個圖示還是半透明,也意味著他們暫時的,也就是由Pycharm自動創建的。

  OK,點擊下拉箭頭查看目前的可用命令操作:

#  如果你已經設定了多個run/debug配置方案,它們將都會顯示在這裡下拉清單中,按一下選取一個作為目前工程的run/debug設定檔。

4、儲存run/debug設定資訊

  在上圖的下拉清單中,點選Edit configuration選項,開啟run/debug設定編輯視窗:

#  在左側目錄中將會出現兩個節點:Python和Default。在第一個節點目錄下有一個單一的配置選項'Solver',在第二個選項下則有很多配置資訊。

  這代表什麼呢?

  在Default節點下,你只能看到框架的名稱或模式名稱,如果你建立一個新的Run/Debug配置文件,它將在所選的模式分支下進行創建,如果你更改了Default節點下的設置,相應的與其相關的所有配置文件都會更改。

  例如,你想將Pycharm中所用到的Python解釋器替換成遠端或本機解釋器,就可以透過更改Python頁面下的解釋器設置,這樣所有新建的偵錯設定檔都會使用這個新的解釋器。

  早Python節點下,只用單一的配置選項'Solver',它屬於Python類型的配置,但與Default節點下的Python機制並不相同,它使用一個非透明的圖標進行的表示,這是用來指示目前設定檔的儲存狀態的,當你儲存設定檔之後圖示即變成非透明狀態。例如,我們在Python類型下為當前的Solver腳本新建一個配置文件,取名'Solver1'。

  如果你對已存在的設定檔做了任何更改,這些更改只會套用到對應的腳本區域。

5、正式運行

  我們已經能夠透過一種非常直接的方式,接下來我們尋求其他方法來運行腳本。

  正如我們所知,運行腳本意味著加載當前的調試配置文件,因此,運行腳本主要遵循以下流程:

  (1)在主工具列中,點選run/debug群組框,確認目前的偵錯設定檔資訊

  (2)做下面的工作(三選一即可):

    點選執行按鈕,載入設定檔

    按下Shift+F10快捷鍵

    在主選單上,選擇Run → Run

    在主選單上,選擇Run → Run

#    在主選單上,選擇Run#可以在Run tool window.視窗中觀察程式的運行結果。

6、執行測試程式

  我們這裡不討論程式碼測試的重要性,而是探討Pycharm如何幫助我們完成這項功能。

7、選擇一個測試器

  首先,需要指定一個測試器。點選工具列的設定按鈕,開啟Settings/Preferences對話框,然後點選進入Python Intergated Tools頁面(可以透過搜尋功能找到),預設選擇如下:

#  在這裡我們選擇Nosetests,儲存並關閉對話框。

8、建立一個test程式區塊

  首先我們建立一個test實例。 Pycharm提供了一種非常聰明的建立測試程式碼的方法:按一下選取類別名稱然後按下Ctrl+Shift+T快速鍵,或在主選單中選取Navigate → Test,如果test程式已存在,則會直接跳轉到對應代碼,否則創建它:

#  按照系統提示進行操作,Pycharm會顯示如下對話框:

  點選OK按鈕,查看建立結果:

  此時Pycharm已經自動建立了一個測試類,當然這只是一個類別框架,需要我們手動編寫測試函數

9、執行測試程式碼

  一切就緒後,右鍵點選測試類別名,在彈出的快速選單中選擇執行指令:

  觀察運行狀態列中Test Runner tab的輸出結果:

#10、調試運行

  首先要弄清楚,為什麼要進行調試?假設我們的程式在運行過程中命中了一個錯誤,那我們該如何定位錯誤發生的位置?這就需要進行調試。

  在Pycharm中我們可以在其中直接對程式進行調試,唯一需要做的準備工作就是在程式必要的地方加設斷點,接下來我們進行詳細的介紹:

# 11、什麼是斷點?

  一個breakpoint標記了一個行的位置,當程式運行到該行程式碼的時候,Pycharm會將程式暫時掛起以方便我們對程式的運行狀態進行分析。 Pycharm支援若干中類型的斷點 types of breakpoints,可以透過對應圖示進行分辨。

  這裡我們採用Python的行斷點為例進行介紹

#12、設定斷點

  方法非常簡單,點擊程式碼左側的空白灰色槽即可:

  注意斷點會將對應的程式碼行標記為紅色,這種顏色標記目前還不能被使用者所更改,我們會盡快出台解決方案。

  順便說一句,取消斷點的操作也很簡單,在同樣位置再次點擊即可。

  當你將滑鼠指標停留在斷點上方時,Pycharm會顯示斷點的關鍵訊息,行號以及腳本屬性,如果你希望改變該斷點的屬性,右鍵點選斷點:

  可以嘗試對斷點屬性進行個人化更改,然後觀察圖示的變化。

13、程式碼偵錯

  接下來,我們正式開始對程式碼進行偵錯。

  首先從配置文件組框中選擇同名的'Solver'文件作為當前調試的配置文件,然後單擊調試按鈕(綠色甲殼蟲樣式的按鈕):

  接下來會Pycharm會執行以下操作:

  (1)PyCharm開始運行,並在斷點處暫停

  (2)斷點所在程式碼行變藍,表示Pycharm程式進程已經到達斷點處,但尚未執行斷點所標記的程式碼。

  (3)Debug tool window視窗出現,顯示目前重要偵錯訊息,並允許使用者對偵錯程序進行更改。

  雖然Pycharm使用手冊中已經完整提供了調試窗口中所有控件的功能信息,我們這裡仍然對其進行簡要介紹。我們發現視窗分為兩個選項卡:Debugger tab and the Console tab。

  (1)Debugger視窗分為三個可見區域:Frames, Variables, 和 Watches。這些視窗列出了目前的框架、正在執行的進程,方便使用者查看程式空間中變數的狀態等。當你選擇一個框架,就會顯示出相關的變數訊息,當然這些區域都是可以折疊隱藏的。

  (2)Console視窗顯示目前的控制台輸出訊息,預設這個視窗位於Debugger之下,可以透過點擊其標籤將其前置顯示。

  當然我們可以改變這些視窗的擺放位置,如果你不喜歡程式的預設排版的話。具體參加Moving tabs and areas章節。

  Debugger視窗的工作模式:

  OK,現在程式暫停在了第一斷點處,Frames視窗顯示的是Solver腳本的第7行程式碼所對應的進程demo,相關變數a、b、c已經定義,但變數d尚未定義。接下來?

  按下F9(或左側工具列的綠色箭頭),程式會繼續運行到下一斷點處,透過這種方式你可以將每個斷點都運行一遍,觀察變數的變化。

  更多有關 Debugger視窗的資訊請參考軟體手冊:product documentation

  Console視窗的工作模式:

#  為什麼需要用到Console視窗呢?當我們需要查看程式給予的錯誤訊息,或是進行一些額外的臨時運算時,就需要在這個視窗裡面進行。

  點擊Console選項卡使其前置:

#  然後點擊左側工具列中的命令符按鈕,顯示Python的命令提示符:

  此時啟動了控制台機制,嘗試在其中執行一些Python指令:

  注意到控制台視窗提供了程式碼的拼字提示(Ctrl+Space)以及歷史記憶(Up/Down keys)功能,更多資訊請參考: Using Debug Console

  最後,如果你希望Console視窗一直處於可用狀態,只需將其移動成為一個單獨的視窗:

14、再次運行

  在完成了本次偵錯運行並再次載入偵錯配置文件之後,我們可以再次運行調試,單擊工具列的run按鈕即可。

15、REPL-在控制台介面偵錯程式

  最後,如果你更習慣工作於控制台環境下,也可以將Pycharm設定成為控制台模式。在主選單中選擇Tools → Run Python Console...來載入控制台:

#  此時console視窗將會被激活,並顯示為一個單獨的視窗:

  在這個控制台視窗中我們可以做很多有趣的事情,接下來我們示範如何將最近寫的Solver.py檔案中的程式碼匯入到控制台:

  開啟Solver.py檔案(開啟的方法多種多樣,例如Ctrl+E - View → Recent Files),全選檔案中的程式碼內容(Ctrl+A, or Edit → Select All),然後按下Alt+Shift+E(或右鍵在彈出的快捷選單中選擇Execute Selection in Console):

  此時,Pycharm就會自動將選取的程式碼導入到控制台介面,方便我們編輯:

【相關推薦】

1. Python免費影片教學

2. Python學習手冊

3. Python物件導向影片教學

#

以上是Pycharm入門基礎之程式碼調試的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python的主要目的:靈活性和易用性Python的主要目的:靈活性和易用性Apr 17, 2025 am 12:14 AM

Python的靈活性體現在多範式支持和動態類型系統,易用性則源於語法簡潔和豐富的標準庫。 1.靈活性:支持面向對象、函數式和過程式編程,動態類型系統提高開發效率。 2.易用性:語法接近自然語言,標準庫涵蓋廣泛功能,簡化開發過程。

Python:多功能編程的力量Python:多功能編程的力量Apr 17, 2025 am 12:09 AM

Python因其簡潔與強大而備受青睞,適用於從初學者到高級開發者的各種需求。其多功能性體現在:1)易學易用,語法簡單;2)豐富的庫和框架,如NumPy、Pandas等;3)跨平台支持,可在多種操作系統上運行;4)適合腳本和自動化任務,提升工作效率。

每天2小時學習Python:實用指南每天2小時學習Python:實用指南Apr 17, 2025 am 12:05 AM

可以,在每天花費兩個小時的時間內學會Python。 1.制定合理的學習計劃,2.選擇合適的學習資源,3.通過實踐鞏固所學知識,這些步驟能幫助你在短時間內掌握Python。

Python與C:開發人員的利弊Python與C:開發人員的利弊Apr 17, 2025 am 12:04 AM

Python適合快速開發和數據處理,而C 適合高性能和底層控制。 1)Python易用,語法簡潔,適用於數據科學和Web開發。 2)C 性能高,控制精確,常用於遊戲和系統編程。

Python:時間投入和學習步伐Python:時間投入和學習步伐Apr 17, 2025 am 12:03 AM

學習Python所需時間因人而異,主要受之前的編程經驗、學習動機、學習資源和方法及學習節奏的影響。設定現實的學習目標並通過實踐項目學習效果最佳。

Python:自動化,腳本和任務管理Python:自動化,腳本和任務管理Apr 16, 2025 am 12:14 AM

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

Python和時間:充分利用您的學習時間Python和時間:充分利用您的學習時間Apr 14, 2025 am 12:02 AM

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python:遊戲,Guis等Python:遊戲,Guis等Apr 13, 2025 am 12:14 AM

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能