1. 程式人生 > 程式設計 >python3.7除錯的例項方法

python3.7除錯的例項方法

PyCharm IDE 窗口布局

1.png

PyCharm 除錯程式碼例項(這裡我以自己的程式碼為例)

__author__='lxm'
#!/usr/bin/python
importthread
importtime
#Defineafunctionforthethread
defprint_time(threadName,delay):
count=0
whilecount<5:
count+=1
print"%s:%s"%(threadName,time.ctime(time.time()))
defcheck_sum(threadName,valueA,valueB):
print"tocalculatethesumoftwonumberher"
result=sum(valueA,valueB)
print"theresultis",result;
defsum(valueA,valueB):
ifvalueA>0andvalueB>0:
returnvalueA+valueB
defreadFile(threadName,filename):
file=open(filename)
forlineinfile.xreadlines():
printline
try:
thread.start_new_thread(print_time,("Thread-1",2,))
thread.start_new_thread(check_sum,("Thread-2",4,5,))
thread.start_new_thread(readFile,("Thread-3","test.txt",))
except:
print"Error:unabletostartthread"
while1:
#print"end"
pass

在除錯之前通常需要設定斷點,斷點可以設定在迴圈或者條件判斷的表示式處或者程式的關鍵點。設定斷點的方法非常簡單:在程式碼編輯框中將游標移動到需要設定斷點的行,然後直接按 Ctrl+F8 或者選擇選單"Run"->"Toggle Line Break Point",更為直接的方法是雙擊程式碼編輯處左側邊緣,可以看到出現紅色的小圓點。當除錯開始的時候,當前正在執行的程式碼會直接顯示為藍色。下圖中設定了三個斷點,藍色高亮顯示的為正在執行的程式碼。

斷點設定

表示式求值:在除錯過程中有的時候需要追蹤一些表示式的值來發現程式中的問題,Pycharm 支援表示式求值,可以通過選中該表示式,然後選擇“Run”->”Evaluate Expression”,在出現的視窗中直接選擇 Evaluate 便可以檢視。

Pycharm同時提供了 Variables 和 Watches 視窗,其中除錯步驟中所涉及的具體變數的值可以直接在 variable 一欄中檢視。

變數檢視

如果要動態的監測某個變數可以直接選中該變數並選擇選單”Run”->”Add Watch”新增到 watches 欄中。當除錯進行到該變數所在的語句時,在該視窗中可以直接看到該變數的具體值。

知識點擴充套件:

對於 python 程式碼的除錯我們通常都是使用 IDE 自帶的除錯功能。但是 IDE 提供的除錯功能存在侷限性,例如在測試伺服器上除錯程式碼,但是又不可能在測試伺服器上安裝 IDE 進行除錯。這時我們就可以利用下面所講解的三個工具進行除錯。

零、準備除錯程式碼

在講解三個除錯工具前,我們先編寫待除錯的程式碼。程式碼很簡單,就是計算兩個數的商。我們在編寫程式碼的時候故意留下了除數為 0 的 bug。

def division(start,end):
 for i in range(start,end,-1):
  num1 = i
  num2 = i - 1
  result = num1 / num2
  print(result)


if __name__ == '__main__':
 division(10,0)

到此這篇關於python3.7除錯的例項方法的文章就介紹到這了,更多相關python3.7怎麼除錯內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!