1. 程式人生 > >最全Pycharm教程(10)——Pycharm調試器總篇

最全Pycharm教程(10)——Pycharm調試器總篇

通過 pro pri order 相關配置 points 信息 發現 blank

  最全Pycharm教程(1)——定制外觀

  最全Pycharm教程(2)——代碼風格

  最全Pycharm教程(3)——代碼的調試、執行

  最全Pycharm教程(4)——有關Python解釋器的相關配置

  最全Pycharm教程(5)——Python快捷鍵相關設置

  最全Pycharm教程(6)——將Pycharm作為Vim編輯器使用

  最全Pycharm教程(7)——虛擬機VM的配置

  最全Pycharm教程(8)——Djangoproject的創建和管理

  最全Pycharm教程(9)——創建並執行一個主要的Python測試程序

  1、準備工作

  (1)Pycharm版本號為3.0或者更高版本號

  (2)至少安裝了一個Python解釋器而且已經正確配置

  (3)已經創建了一個Pythonproject

  2、主要內容

  介紹怎樣通過Pycharm來調試腳本文件,以及各個工具button的作用等等,至於Python編程方法,請參見Python documentation。

  3、待復習知識

  為了完畢本篇教程的內容,須要用到前面的兩個重要知識點:

  (1)Run/debug配置文件的相關知識

  (2)斷點的相關知識

  4、Run/debug 配置知識

  每當你通過Pycharm來執行或者調試一個腳本文件時,都須要一個特殊的文件來記錄腳本的名稱、工作文件夾以及其它的重要調試信息。

Pycharm已經針對特定模式預先創建好了配置文件。避免我們手動去創建。

  每次你單擊執行或者調試button時(或者通過快捷菜單執行同樣的操作)。我們實際上都是在當前工作模式中載入了相應的配置文件。

詳見product documentation。

  5、斷點

  一個斷點標記了一個代碼行。當Pycharm執行到該行代碼時會將程序臨時掛起。Pycharm提供了幾種形式的斷點 types of breakpoints,其圖標 icon各不同樣。詳見 product documentation中的Breakpoints tutorial。

  6、實例

  在你的Pythonproject中,創建一個新的Python文件,命名為ThreadSample.py,然後輸入下面代碼:

技術分享

  7、設置斷點

  首先,在源代碼中設置斷點。通過單擊代碼左側的空白槽來在相應位置生成斷點:

技術分享

  8、開始調試

  選擇 run/debug configuration "ThreadSample",然後按下Shift+F9(或者單擊工具欄中的綠色蜘蛛形式的button),調試開始。並在第一個斷點處停止:

技術分享

  斷點所在的行變為藍色,說明Pycharm已經擊中了這個斷點,但尚未運行這行代碼。

  9、更改調試窗體的布局

  此時Pycharm進入調試界面模式Debug tool window,各個控件的詳細功能詳見know how to use this tool window。

  增加你並不喜歡當前的默認布局。比如你希望將調試器輸出窗體作為一個獨立的窗體顯示以便更方便的觀察當前的調試狀態,你能夠對布局進行個性化定制。

  首先,我們先把調試工具窗體獨立出來。僅僅須要右擊窗體的標題欄。然後選擇Floating mode

技術分享

  接下來將控制臺窗體移動成為一個獨立的窗體,僅僅須要拖動控制臺窗體將其拖出測試窗體就可以:

技術分享

  能夠通過單擊工具欄上的技術分享button來恢復到默認布局。

  很多其它信息請參見PyCharm Tool Windows和Moving tabs and area

  10、加入一個變量查看器

  接下來我們介紹怎樣在調試過程中觀察變量的狀態。我們須要對其設置一個查看器。

在Watches窗體中,單擊綠色的加號。輸入期望查看的變量名稱,比如這裏輸入delay。然後回車。當然你也能夠採用第二種方式:在編輯窗體中右擊變量名,在快捷菜單中選擇Add to watches

  此時觀察Watches窗體。發現delay變量眼下尚沒有定義:

技術分享

  稍後你將會看到怎樣對這個變量進行負值,以及其在watches窗體中的變化。接下來我們為get_thread_name()函數設置一個查看器作為練習。

  11、瀏覽幀

  此時你能看到一個名為MainThread的進程,當中包括三幀。單擊每一幀來顯示其變量狀態以及相相應的py文件。同一時候會對有問題的代碼行以高亮顯示:

技術分享

  12、簡單的調試

  在每一個斷點出都單擊技術分享button來時程序繼續執行,觀察控制臺的腳本輸出:

技術分享

  13、步進式腳本調試

  讓我們對當前腳本進行進一步的調試。單擊技術分享重新啟動調試進程,程序再次執行到第一個斷點處並暫停。

  在調試窗體的頂端。你會看到一列包括步進調試按鈕的工具欄 stepping buttons。

  單擊技術分享,或者按下F8,你會發現藍色標記移動到了下一行:

技術分享

  與此同一時候,當你暫停了腳本運行時(單擊技術分享button),你能看到高亮表示的函數print_time(),你能夠選擇當中的不論什麽一個進程,並觀察變量的變化:

技術分享

  14、執行到當前光標處  

  假如你不想增加斷點。但仍希望代碼可以調試執行到某一指定的代碼行。怎樣操作?

  返回調試界面的第二個斷點處,在相應行插入輸入光標。

技術分享

  單擊技術分享button,或者按下Alt+F9快捷鍵,該行代碼變為高亮顯示:

技術分享

  15、怎樣調用Debug命令

  值得一提的是全部的調試操作不只能夠通過調試工具欄的相應button來完畢,還能夠通過主菜單中Run菜單下的命令來實現,以及相關的快捷菜單項。

以下給出一些經常使用的調試菜單命令及其相應的快捷鍵列表:

技術分享

  很多其它控件描寫敘述參見Debug tool window。

最全Pycharm教程(10)——Pycharm調試器總篇