1. 程式人生 > >pycharm除錯debug入門

pycharm除錯debug入門

簡介 今天在用pycharm除錯程式感覺各種不爽啊。用myeclipse習慣了,以為所有的除錯都一樣方便,見識了pycharm(還特意查了下,pycharm是python中較好的IDE了,不大理解誒)才理解myeclipse的強大。 本以為除錯都大同小異,結果有幾個地方和想當然的不一致,還是整理下備查吧。 先說說坑吧 1,圖2,左側的那個按鈕,在debug執行過程中時變灰。這個沒問題。問題是pycharm在run時程式非常快,debug時可能非常慢。在debug一段dataframe程式碼時,等2-3分鐘沒反應,按鈕都是灰的,點不了,還以為電腦宕機了。簡化後發現是執行速度過慢導致的。目前還不清楚為何有這麼大差別。
2,選單分位2部分,圖2所示,一般情況下執行下一個斷點(F9)和其他那幾個都是在一起的,pycharm是分開的。 3,點選debug後,程式完全沒反應,留意下Mute Breakpoints為非選中狀態才行,重啟pycharm,或嘗試新建新python檔案,然後在除錯。 啟動除錯 介面右上角
圖1 debug相關功能 介面左下角,使用到的在下圖已經圈出
圖2 樣例程式 01def helloworld(): 02    print 'hello world' 03a=1 04b=2 05c=3 06for  i in range(1,3): 07    print 'i',i
08a=1 09b=2 10c=3 11helloworld() 12a=1 13b=2 14c=3 程式完整序列:3,4,5,6,7,6,7,8,9,10,11,2,12,13 F8:step over 單步,3,4,5,6,7,6,7,8,9,10,11,12,13 F7:step into 進入,3,4,5,6,7,6,7,8,9,10,11,2,11,12,13 F9:resume program 重啟程式 實際是 下個斷點 特殊的:11行斷點且2斷點,則11停2停,2執行後不再回到11,和F7有區別 Alt+shift+F7:step into mycode,這個沒看明白什麼意思,自己除錯時debug停在第一個斷點,然後按這個,就會依次執行各程式碼,無論有無斷點,更像F8(F7如果沒遇到函式也和F8一樣的,可以理解為單步),按照字面意思應該是“只進入自己的函式”,和F7類似的,不過它怎麼判斷是否是自己函式呢?同文件?同author,額不深究了,反正不打算用。
shift+F8:跳出,只對函式內有效,跳出函式後會回到函式所在行,(類似11,2,11),不是函式地方跳出會執行到結束 alt+F9:run to cursor 不打算用 可能常用就是F8,F9,F7,shift+F8 較特殊的: F7進入,shift+F8跳出,不是一對。 F9的英文和實際含義感覺也不大一致。 友情連結: Python 程式碼除錯技巧:https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/ Python 基礎——一張圖告訴你PyCharm如何進行斷點除錯:http://blog.csdn.net/lanchunhui/article/details/49514297 Python 程式如何高效地除錯?:https://www.zhihu.com/question/21572891 Pycharm使用debug對Python斷點測試心得:https://www.noniu.com/jiaocheng/219.html