一、準備工做html
(1)Pycharm版本爲3.0或者更高版本python
(2)至少安裝了一個Python解釋器而且已經正確配置web
(3)已經建立了一個python工程編程
二、主要內容windows
介紹如何經過Pycharm來調試腳本文件,以及各個工具按鈕的做用等等,至於Python編程方法,請參見Python documentation。session
三、待複習知識框架
爲了完成本篇教程的內容,須要用到前面的兩個重要知識點:ide
(1)Run/debug配置文件的相關知識函數
(2)斷點的相關知識工具
四、Run/debug 配置知識
每當你經過Pycharm來運行或者調試一個腳本文件時,都須要一個特殊的文件來記錄腳本的名稱、工做目錄以及其餘的重要調試信息。Pycharm已經針對特定模式預先建立好了配置文件,避免咱們手動去建立。
每次你單擊運行或者調試按鈕時(或者經過快捷菜單執行相同的操做),咱們實際上都是在當前工做模式中加載了對應的配置文件。詳見product documentation。
五、斷點
一個斷點標記了一個代碼行,當Pycharm運行到該行代碼時會將程序暫時掛起。Pycharm提供了幾種形式的斷點 types of breakpoints,其圖標 icon各不相同。詳見 product documentation中的Breakpoints tutorial。
六、實例
在你的Python工程中,建立一個新的Python文件,命名爲ThreadSample.py,而後輸入如下代碼:
七、設置斷點
首先,在源碼中設置斷點。經過單擊代碼左側的空白槽來在對應位置生成斷點:
八、開始調試
選擇 run/debug configuration "ThreadSample",而後按下Shift+F9(或者單擊工具欄中的綠色蜘蛛形式的按鈕),調試開始,並在第一個斷點處中止:
斷點所在的行變爲藍色,說明Pycharm已經擊中了這個斷點,但還沒有執行這行代碼。
九、更改調試窗口的佈局
此時Pycharm進入調試界面模式Debug tool window,各個控件的具體功能詳見know how to use this tool window。
加入你並不喜歡當前的默認佈局,例如你但願將調試器輸出窗口做爲一個獨立的窗口顯示以便更方便的觀察當前的調試狀態,你能夠對佈局進行個性化定製。
首先,咱們先把調試工具窗口獨立出來,只須要右擊窗口的標題欄,而後選擇Floating mode:
接下來將控制檯窗口移動成爲一個獨立的窗口,只須要拖動控制檯窗口將其拖出測試窗口便可:
能夠經過單擊工具欄上的按鈕來恢復到默認佈局。
更多信息請參見PyCharm Tool Windows和Moving tabs and area
十、添加一個變量查看器
接下來咱們介紹如何在調試過程當中觀察變量的狀態。咱們須要對其設置一個查看器。在Watches窗口中,單擊綠色的加號,輸入指望查看的變量名稱,例如這裏輸入delay,而後回車。固然你也能夠採用另一種方式:在編輯窗口中右擊變量名,在快捷菜單中選擇Add to watches:
此時觀察Watches窗口,發現delay變量目前還沒有定義:
稍後你將會看到如何對這個變量進行負值,以及其在watches窗口中的變化。接下來咱們爲get_thread_name()函數設置一個查看器做爲練習。
十一、瀏覽幀
此時你能看到一個名爲MainThread的進程,其中包含三幀。單擊每一幀來顯示其變量狀態以及相對應的py文件,同時會對有問題的代碼行以高亮顯示:
十二、簡單的調試
在每一個斷點出都單擊按鈕來時程序繼續運行,觀察控制檯的腳本輸出:
1三、步進式腳本調試
讓咱們對當前腳本進行進一步的調試。單擊重啓調試進程,程序再次運行到第一個斷點處並暫停。
在調試窗口的頂端,你會看到一列包含步進調試按鈕的工具欄 stepping buttons。
單擊,或者按下F8,你會發現藍色標記移動到了下一行:
與此同時,當你暫停了腳本執行時(單擊按鈕),你能看到高亮表示的函數print_time(),你能夠選擇其中的任何一個進程,並觀察變量的變化:
1四、運行到當前光標處
假如你不想加入斷點,但仍但願代碼可以調試運行到某一指定的代碼行,如何操做?
返回調試界面的第二個斷點處,在對應行插入輸入光標。
單擊按鈕,或者按下Alt+F9快捷鍵,該行代碼變爲高亮顯示:
1五、如何調用Debug命令
值得一提的是全部的調試操做不只僅能夠經過調試工具欄的對應按鈕來完成,還能夠經過主菜單中Run菜單下的命令來實現,以及相關的快捷菜單項。下面給出一些經常使用的調試菜單命令及其對應的快捷鍵列表:
更多控件描述參見Debug tool window。