1. 程式人生 > >最全Pycharm教程(11)——Pycharm調試器之斷點篇

最全Pycharm教程(11)——Pycharm調試器之斷點篇

pes eas 觀察 project 項目 python pre 啟動 image

  最全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測試程序

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

  1、準備工作

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

  (2)至少安裝了一個Python解釋器

  (3)已經創建了一個Pythonproject

  (4)使用Debugger tutorial正在調試處理一個實例

  2、什麽是斷點

  Pycharm提供了多種不同類型的斷點types of breakpoints,並都有特定的圖標icon。本篇教程中我們將具體介紹行斷點,即標記了一行待掛起的代碼。

  3、斷點屬性

  有兩種方法來瀏覽和改變代碼屬性:

  (1)首先,有一個單獨的置頂窗體來顯示斷點屬性。

  (2)有一個斷點對話框 Breakpoints dialog來顯示當前應用中所存在的全部斷點及其屬性。

  4、設置斷點

  選中相應代碼行,然後運行以下步驟(二選一):

  (1)單擊左邊空白槽

  (2)按下Ctrl+F8快捷鍵

  這是一個觸發開關式的操作。即能夠不斷的反復操作以移除/加入斷點。

  作為練習。在第16行設置斷點:

技術分享

  5、瀏覽並改變斷點屬性

  為了瀏覽單獨一個斷點的屬性,僅僅需右擊它就可以:

技術分享

  6、啟用和關閉斷點

  首先。清空復選框中的Line 16 in ThreadSample.py enabled

選項,此時斷點會失效。同一時候圖標中心會變為綠色:

技術分享

  OK。再次勾選復選框,圖標恢復原狀,斷點生效。

  7、條件性代碼懸掛

  如果你希望Pycharm在當前代碼處僅僅掛起某一個線程,而其它線程可以正常通過斷點。操作很easy,為斷點加入一個條件就可以:

技術分享

  接下來我們開始腳本調試(單擊工具欄中的技術分享button)。你會看到實際上Pycharm僅僅在當前斷點處掛起了Thread-7,而Thread-6正常通過了該斷點:

技術分享

  8、怎樣忽略某些斷點?

  通常情況下,你僅僅須要在某一個斷點處停下來,而希望在其它斷點可以正常通過。換句話說就是我們並不希望Pycharm在斷點處停止,但我們仍須要保留相應斷點來作為標記。怎樣實現?

  在對話框中取消Suspend復選框的勾選,此時斷點屬性對話框中會顯示更具體的信息:

技術分享

  勾選一下兩個選項:

  (1)Log messages to console:選中這個選項後,Pycharm會在命中該斷點後在控制臺上顯示相關重要信息。

  (2)Log evaluated expressions:選中這個選項之後。Pycharm會計算下方輸入框中給出的特定表達式並顯示在控制臺上。

技術分享

  順便說一下,在下發輸入框中輸入表達式時Pycharm相同提供了拼寫提示功能(Ctrl+空格)。OK,又一次執行調試,Pycharm會在調試控制臺中顯示一下信息:

  應用的基本信息。

  擊中斷點時的註冊信息

  表達式的計算結果

技術分享

  9、瀏覽全部斷點

  以上你使用到的全部斷點相關的對話框都能幫助你獲取斷點的大部分重要信息。只是我們通常使用 Breakpoints dialog對話框來完畢大部分斷點處理工作,它會顯示當前項目中的全部斷點的屬性信息,並方便我們對其進行更改。

  我們能夠通過下面幾種方式來打開這個對話框:

  (1)Ctrl+Shift+F8快捷鍵

  (2)在主菜單中選中Run → View Breakpoints

  (3)在斷點屬性快捷對話框中單擊More (Ctrl+Shift+F8)

  (4)在調試窗體中單擊技術分享button。

  10、創建一個暫時斷點

  如果你希望這樣一個斷點。即Pycharm在命中它之後就將命中的斷點刪除。

Pycharm提供了一個特殊的復選項Remove once hit,默認情況下是不會啟動這個機制的。

  增加Suspend復選框已經選中,接下來再選中Remove once hit復選框,觀察斷點的圖標的變化:

技術分享

  又一次調試,發現Pycharm僅僅會在斷點處暫停一次,之後便會將其移除。以保證之後的程序運行不會受到阻礙:

技術分享

最全Pycharm教程(11)——Pycharm調試器之斷點篇