python3.7調(diào)試的實(shí)例方法
PyCharm IDE 窗口布局

PyCharm 調(diào)試代碼實(shí)例(這里我以自己的代碼為例)
__author__ = 'lxm'
#!/usr/bin/python
import thread
import time
# Define a function for the thread
def print_time( threadName, delay):
count = 0
while count < 5:
count += 1
print "%s: %s" % ( threadName, time.ctime(time.time()) )
def check_sum(threadName,valueA,valueB):
print "to calculate the sum of two number her"
result=sum(valueA,valueB)
print "the result is" ,result;
def sum(valueA,valueB):
if valueA >0 and valueB>0:
return valueA+valueB
def readFile(threadName, filename):
file = open(filename)
for line in file.xreadlines():
print line
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: unable to start thread"
while 1:
# print "end"
pass
在調(diào)試之前通常需要設(shè)置斷點(diǎn),斷點(diǎn)可以設(shè)置在循環(huán)或者條件判斷的表達(dá)式處或者程序的關(guān)鍵點(diǎn)。設(shè)置斷點(diǎn)的方法非常簡(jiǎn)單:在代碼編輯框中將光標(biāo)移動(dòng)到需要設(shè)置斷點(diǎn)的行,然后直接按 Ctrl+F8 或者選擇菜單"Run"->"Toggle Line Break Point",更為直接的方法是雙擊代碼編輯處左側(cè)邊緣,可以看到出現(xiàn)紅色的小圓點(diǎn)。當(dāng)調(diào)試開(kāi)始的時(shí)候,當(dāng)前正在執(zhí)行的代碼會(huì)直接顯示為藍(lán)色。下圖中設(shè)置了三個(gè)斷點(diǎn),藍(lán)色高亮顯示的為正在執(zhí)行的代碼。
斷點(diǎn)設(shè)置
表達(dá)式求值:在調(diào)試過(guò)程中有的時(shí)候需要追蹤一些表達(dá)式的值來(lái)發(fā)現(xiàn)程序中的問(wèn)題,Pycharm 支持表達(dá)式求值,可以通過(guò)選中該表達(dá)式,然后選擇“Run”->”Evaluate Expression”,在出現(xiàn)的窗口中直接選擇 Evaluate 便可以查看。
Pycharm同時(shí)提供了 Variables 和 Watches 窗口,其中調(diào)試步驟中所涉及的具體變量的值可以直接在 variable 一欄中查看。
變量查看
如果要?jiǎng)討B(tài)的監(jiān)測(cè)某個(gè)變量可以直接選中該變量并選擇菜單”Run”->”Add Watch”添加到 watches 欄中。當(dāng)調(diào)試進(jìn)行到該變量所在的語(yǔ)句時(shí),在該窗口中可以直接看到該變量的具體值。
知識(shí)點(diǎn)擴(kuò)展:
對(duì)于 python 代碼的調(diào)試我們通常都是使用 IDE 自帶的調(diào)試功能。但是 IDE 提供的調(diào)試功能存在局限性,例如在測(cè)試服務(wù)器上調(diào)試代碼,但是又不可能在測(cè)試服務(wù)器上安裝 IDE 進(jìn)行調(diào)試。這時(shí)我們就可以利用下面所講解的三個(gè)工具進(jìn)行調(diào)試。
零、準(zhǔn)備調(diào)試代碼
在講解三個(gè)調(diào)試工具前,我們先編寫(xiě)待調(diào)試的代碼。代碼很簡(jiǎn)單,就是計(jì)算兩個(gè)數(shù)的商。我們?cè)诰帉?xiě)代碼的時(shí)候故意留下了除數(shù)為 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)
到此這篇關(guān)于python3.7調(diào)試的實(shí)例方法的文章就介紹到這了,更多相關(guān)python3.7怎么調(diào)試內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python腳本調(diào)試工具安裝過(guò)程
- 詳解python使用金山詞霸的翻譯功能(調(diào)試工具斷點(diǎn)的使用)
- python 調(diào)試器pdb的簡(jiǎn)單使用
- Python 代碼調(diào)試技巧示例代碼
- Python 如何調(diào)試程序崩潰錯(cuò)誤
- python框架flask入門(mén)之環(huán)境搭建及開(kāi)啟調(diào)試
- Python使用pdb調(diào)試代碼的技巧
- ubunt18.04LTS+vscode+anaconda3下的python+C++調(diào)試方法
- python調(diào)試工具Birdseye的使用教程
相關(guān)文章
python簡(jiǎn)單實(shí)現(xiàn)旋轉(zhuǎn)圖片的方法
這篇文章主要介紹了python簡(jiǎn)單實(shí)現(xiàn)旋轉(zhuǎn)圖片的方法,涉及Python中image模塊使用技巧,需要的朋友可以參考下2015-05-05
基于Python寫(xiě)個(gè)"點(diǎn)球大戰(zhàn)"小游戲
這篇文章主要為大家詳細(xì)介紹了如何利用Python寫(xiě)個(gè)簡(jiǎn)單的"點(diǎn)球大戰(zhàn)"小游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-12-12
Python爬蟲(chóng)使用代理IP的實(shí)現(xiàn)
這篇文章主要介紹了Python爬蟲(chóng)使用代理IP的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Django Admin實(shí)現(xiàn)上傳圖片校驗(yàn)功能
這篇文章主要介紹了Django Admin實(shí)現(xiàn)上傳圖片校驗(yàn)功能的相關(guān)資料,需要的朋友可以參考下2016-03-03
Django基于ORM操作數(shù)據(jù)庫(kù)的方法詳解
這篇文章主要介紹了Django基于ORM操作數(shù)據(jù)庫(kù)的方法,結(jié)合實(shí)例形式總結(jié)分析了Django使用ORM操作數(shù)據(jù)庫(kù)的相關(guān)配置、增刪改查等相關(guān)操作技巧,需要的朋友可以參考下2018-03-03
解決編碼問(wèn)題:UnicodeDecodeError: 'utf-8' codec
這篇文章主要介紹了快速解決編碼問(wèn)題:UnicodeDecodeError: 'utf-8' codec can't decod,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
Python字符串處理函數(shù)簡(jiǎn)明總結(jié)
這篇文章主要介紹了Python字符串處理函數(shù)簡(jiǎn)明總結(jié),本文總結(jié)了一些常用的字符串處理函數(shù),需要的朋友可以參考下2015-04-04

