寫代碼過程中踪区,出現(xiàn)各種各樣的bug(臭蟲)是再也正常不過的事情昆烁,比如環(huán)境問題,語法問題缎岗,邏輯問題善玫。一般來說環(huán)境和語法問題是比較直觀的,邏輯問題常常需要調(diào)試才能發(fā)現(xiàn)錯(cuò)誤密强。
測試并修正代碼中各種錯(cuò)誤的過程被稱作調(diào)試茅郎,又叫 debug(delete bug)。很久很久之前我是掌握這個(gè)技能或渤,最近是徹底給它丟了系冗,出現(xiàn)問題就 print everything。僅以此文紀(jì)念我終將逝去的各種技能薪鹦。
print最大的問題就是程序不停止掌敬,整個(gè)終端都是print,不知道哪個(gè)是自己想要的輸出結(jié)果池磁。我一般的解決方法是在輸出前后加上print("this is xiaoming?")奔害。
python中常用的是斷點(diǎn)調(diào)試:
斷點(diǎn)(break point)是指在代碼中指定位置,當(dāng)程序運(yùn)行到此位置時(shí)變中斷下來地熄,并讓開發(fā)者可查看此時(shí)各變量的值华临。因斷點(diǎn)中斷的程序并沒有結(jié)束,可以選擇繼續(xù)執(zhí)行端考。
在需要調(diào)試的地方加上pdb.set_trace() 這句代碼需要引入包雅潭,在代碼開頭加上import pdb即可
@常用的命令 @解釋
break 或 b 設(shè)置斷點(diǎn)
continue 或 c 繼續(xù)執(zhí)行程序
list 或 l 查看當(dāng)前行的代碼段
step 或 s 進(jìn)入函數(shù)
return 或 r 執(zhí)行代碼直到從當(dāng)前函數(shù)返回
exit 或 q 中止并退出
next 或 n 執(zhí)行下一行
pp 打印變量的值
help 幫助