Pycharm學習教程(3) 代碼運行調(diào)試
Pycharm代碼運行調(diào)試,具體內(nèi)容如下
1、準備工作
?。?)Python版本為2.7或者更高版本
(2)已經(jīng)創(chuàng)建了一個Python工程并且添加了內(nèi)容,具體參考: Getting Started tutorial
2、第一步——運行代碼
打開之前編寫的Solver.py文件,在編輯框中右鍵,選擇快捷菜單中的“Run 'Solver'”選項。

此時腳本文件正常運行并在調(diào)試工具窗口中顯示程序的輸出值:

接下來我們對這兩步操作的具體內(nèi)容做詳細的解釋。
3、什么是Run/Debug模式
每個需要運行/調(diào)試的腳本文件都需要一個特殊的配置文件來指定其腳本名稱、所在目錄以及其他重要的運行調(diào)試信息。Pycharm已經(jīng)集成了這種配置文件,避免用戶手動去創(chuàng)建。
每次當你單擊Run或者Debug按鈕時(或者在快捷菜單中執(zhí)行相同操作),實際上都是將當前的運行/調(diào)試配置文件加載到當前的調(diào)試模型中。
如果你仔細觀察第一張圖片就會發(fā)現(xiàn),在組合框中根本就沒有 run/debug的相關信息,知道第二張圖片中它們才出現(xiàn)。這就意味著當執(zhí)行運行/調(diào)試命令的時候,Solver腳本的run/debug配置文件才會自動生成,正如現(xiàn)在所顯示的這樣。
此時再主工具欄中Run(綠色箭頭按鈕)和Debug(綠色甲殼蟲按鈕)兩個按鈕變得可用:

同時這兩個圖標還是半透明,也就意味著他們臨時的,即由Pycharm自動創(chuàng)建的。
OK,單擊下拉箭頭查看當前的可用命令操作:

如果你已經(jīng)設置了多個run/debug配置方案,它們將都會顯示在這里下拉列表中,單擊選中一個作為當前工程的run/debug配置文件。
4、保存run/debug配置信息
在上圖的下拉列表中,單擊Edit configuration選項,打開run/debug配置編輯窗口:

在左側目錄中將會出現(xiàn)兩個節(jié)點:Python和Default。在第一個節(jié)點目錄下有一個單一的配置選項'Solver',在第二個選項下則有很多配置信息。
這意味著什么呢?
在Default節(jié)點下,你只能看到框架的名稱或者模式名稱,如果你創(chuàng)建一個新的Run/Debug配置文件,它將會在所選中的模式分支下進行創(chuàng)建,如果你更改了Default節(jié)點下的設置,相應的與其相關的所有配置文件都會更改。
例如,你想將Pycharm中所用到的Python解釋器替換成遠程或者本地解釋器,就可以通過更改Python頁面下的解釋器設置,這樣所有新建的調(diào)試配置文件都會使用這個新的解釋器。
早Python節(jié)點下,只用單一的配置選項'Solver',它屬于Python類型的配置,但與Default節(jié)點下的Python機制并不相同,它使用一個非透明的圖標進行的表示,這是用來指示當前配置文件的保存狀態(tài)的,當你保存配置文件之后圖標即變?yōu)榉峭该鳡顟B(tài)。例如,我們在Python類型下為當前的Solver腳本新建一個配置文件,取名'Solver1'。
如果你對已存在的配置文件做了任何更改,這些更改只會應用于對應的腳本區(qū)域。
5、正式運行
我們已經(jīng)能夠通過一種非常直接的方式,接下來我們尋求其他方法來運行腳本。
正如我們所知,運行腳本意味著加載當前的調(diào)試配置文件,因此,運行腳本主要遵循以下流程:
?。?)在主工具欄中,單擊run/debug組框,確認當前的調(diào)試配置文件信息
?。?)做下面的工作(三選一即可):
單擊運行按鈕,加載配置文件
按下Shift+F10快捷鍵
在主菜單上,選擇Run → Run
此時,我們可以在Run tool window.窗口中觀察程序的運行結果。
6、運行測試程序
我們這里并不討論代碼測試的重要性,而是探討Pycharm如何幫助我們完成這一功能。
7、選擇一個測試器
首先,需要指定一個測試器。單擊工具欄的設置按鈕,打開Settings/Preferences對話框,然后單擊進入Python Intergated Tools頁面(可以通過搜索功能找到),默認選擇如下:

在這里我們選擇Nosetests,保存并關閉對話框。
8、創(chuàng)建一個test程序塊
首先我們創(chuàng)建一個test實例。Pycharm提供了一種非常智能的創(chuàng)建測試代碼的方法:單擊選中類名然后按下Ctrl+Shift+T快捷鍵,或者在主菜單中選擇Navigate → Test,如果test程序已存在,則會直接跳轉到對應代碼,否則創(chuàng)建它:

按照系統(tǒng)提示進行操作,Pycharm會顯示如下對話框:

單擊OK按鈕,查看創(chuàng)建結果:

此時Pycharm已經(jīng)自動創(chuàng)建了一個測試類,當然這只是一個類框架,需要我們手動編寫測試函數(shù)。
9、運行測試代碼
一切就緒后,右擊測試類名,在彈出的快捷菜單中選擇運行命令:

觀察運行狀態(tài)欄中 Test Runner tab的輸出結果:

10、調(diào)試運行
首先要弄清楚,為什么要進行調(diào)試?假設我們的程序在運行過程中命中了一個錯誤,那我們?nèi)绾味ㄎ诲e誤發(fā)生的位置?這就需要進行調(diào)試。
在Pycharm中我們可以在其中直接對程序進行調(diào)試,唯一需要做的準備工作就是在程序必要的地方加設斷點,接下來我們進行詳細的介紹:
11、什么是斷點?
一個breakpoint標記了一個行的位置,當程序運行到該行代碼的時候,Pycharm會將程序暫時掛起以方便我們對程序的運行狀態(tài)進行分析。Pycharm支持若干中類型的斷點 types of breakpoints,可以通過對應圖標進行分辨。
這里我們采用Python的行斷點為例進行介紹
12、設置斷點
方法非常簡單,單擊代碼左側的空白灰色槽即可:

注意斷點會將對應的代碼行標記為紅色,這種顏色標記目前還不能被用戶所更改,我們會盡快出臺解決方案。
順便說一句,取消斷點的操作也很簡單,在同樣位置再次單擊即可。
當你將鼠標指針懸停在斷點上方時,Pycharm會顯示斷點的關鍵信息,行號以及腳本屬性,如果你希望更改該斷點的屬性,右擊斷點:

可以嘗試對斷點屬性進行個性化更改,然后觀察圖標的變化。
13、代碼調(diào)試
接下來,我們正式開始對代碼進行調(diào)試。
首先從配置文件組框中選擇同名的'Solver'文件作為當前調(diào)試的配置文件,然后單擊調(diào)試按鈕(綠色甲殼蟲樣式的按鈕):

接下來會Pycharm會執(zhí)行以下操作:
?。?)PyCharm開始運行,并在斷點處暫停
?。?)斷點所在代碼行變藍,意味著Pycharm程序進程已經(jīng)到達斷點處,但尚未執(zhí)行斷點所標記的代碼。
?。?)Debug tool window窗口出現(xiàn),顯示當前重要調(diào)試信息,并允許用戶對調(diào)試進程進行更改。

雖然Pycharm使用手冊中已經(jīng)完整提供了調(diào)試窗口中所有控件的功能信息,我們這里仍然對其進行簡要介紹。我們發(fā)現(xiàn)窗口分為兩個選項卡:Debugger tab and the Console tab。
?。?)Debugger窗口分為三個可見區(qū)域:Frames, Variables, 和 Watches。這些窗口列出了當前的框架、運行的進程,方便用戶查看程序空間中變量的狀態(tài)等。當你選擇一個框架,就會顯示出相關的變量信息,當然這些區(qū)域都是可以折疊隱藏的。
?。?)Console窗口顯示當前的控制臺輸出信息,默認這個窗口位于Debugger之下,可以通過單擊其標簽將其前置顯示。
當然我們可以改變這些窗口的擺放位置,如果你不喜歡程序的默認排版的話。具體參加Moving tabs and areas章節(jié)。
Debugger窗口的工作模式:
OK,現(xiàn)在程序暫停在了第一斷點處,F(xiàn)rames窗口顯示的是Solver腳本的第7行代碼所對應的進程demo,相關變量a、b、c已經(jīng)定義,但變量d尚未進行定義。接下來?
按下F9(或者左側工具欄的綠色箭頭),程序會繼續(xù)運行到下一斷點處,通過這種方式你可以將每個斷點都運行一遍,觀察變量的變化。
更多有關 Debugger窗口的信息參見軟件手冊:product documentation
Console窗口的工作模式:
為什么需要用到Console窗口呢?當我們需要查看程序給出的錯誤信息,或者進行一些額外的臨時運算時,就需要在這個窗口里面進行。
單擊Console選項卡使其前置:

然后單擊左側工具欄中的命令符按鈕,顯示Python的命令提示符:

此時激活了控制臺機制,嘗試在其中執(zhí)行一些Python命令:

注意到控制臺窗口提供了代碼的拼寫提示(Ctrl+Space)以及歷史記憶(Up/Down keys)功能,更多信息參見: Using Debug Console
最后,如果你希望Console窗口一直處于可用狀態(tài),只需將其移動成為一個單獨的窗口即可:

14、再次運行
在完成了本次調(diào)試運行并再次加載調(diào)試配置文件之后,我們可以再次運行調(diào)試,單擊工具欄的run按鈕即可。
15、REPL——在控制臺界面調(diào)試程序
最后,如果你更習慣工作于控制臺環(huán)境下,也可以將Pycharm設置成為控制臺模式。在主菜單中選擇Tools → Run Python Console...來加載控制臺:

此時console窗口將會被激活,并顯示為一個單獨的窗口:

在這個控制臺窗口中我們可以做很多有意思的事情,接下來我們演示如何將最近編寫的Solver.py文件中的代碼導入到控制臺:
打開Solver.py文件(打開的方法多種多樣,例如Ctrl+E - View → Recent Files),全選文件中的代碼內(nèi)容(Ctrl+A, or Edit → Select All),然后按下Alt+Shift+E(或者右擊在彈出的快捷菜單中選擇Execute Selection in Console):

此時,Pycharm就會自動將選中的代碼導入到控制臺界面,方便我們對其進行編輯:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Mac在python3環(huán)境下安裝virtualwrapper遇到的問題及解決方法
這篇文章主要介紹了Mac在python3環(huán)境下安裝virtualwrapper遇到的問題及解決方法,我在使用mac安裝virtualwrapper的時候遇到了問題,搞了好長時間,,在這里總結一下分享出來,供遇到相同的問題的朋友使用,少走些彎路,需要的朋友可以參考下2019-07-07
python3中的eval和exec的區(qū)別與聯(lián)系
這篇文章主要介紹了python3中的eval和exec的區(qū)別與聯(lián)系,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10
Python+Delorean實現(xiàn)時間格式智能轉換
DeLorean是一個Python的第三方模塊,基于?pytz?和?dateutil?開發(fā),用于處理Python中日期時間的格式轉換。本文將詳細講講DeLorean的使用,感興趣的可以了解一下2022-04-04
Pandas數(shù)據(jù)類型轉換df.astype()及數(shù)據(jù)類型查看df.dtypes的使用
Python,numpy都有自己的一套數(shù)據(jù)格式,本文主要介紹了Pandas數(shù)據(jù)類型轉換df.astype()及數(shù)據(jù)類型查看df.dtypes的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07
使用pytorch提取卷積神經(jīng)網(wǎng)絡的特征圖可視化
這篇文章主要給大家介紹了關于使用pytorch提取卷積神經(jīng)網(wǎng)絡的特征圖可視化的相關資料,文中給出了詳細的思路以及示例代碼,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-03-03

