pdb是linux的python調試工具,它功能比較齊全,使用起來也很方便, 按一般運維工程師的技術發展來說,最早接觸編程語言應該是shell, 所以大多是在shell的基礎上開始學習Python的,如果是剛從shell腳本轉到寫python腳本的小夥伴可能會有點不太適應,比如說調試,大家都知道寫腳本是有一個調試過程的除非你的腳本里只有一行, 那既然都有調試過程,那shell下調試就很方便,shell運行時我們可以直接 sh -x myscript.sh ,就可以看到整個腳本運行的過程,或者在某些關鍵地方加入echo ,打印出變量,調試方法簡單直接, 所以在寫Python腳本時我們繼承了寫shell腳本的調試習慣,我們會在程序中加入print 來調試關鍵變量,這也是現在大家通用的方法,但有時候就行不通,如果一個腳本寫的很長,有涉及到某些邏輯在裏面,用print就顯得無力了,如果你不掌握調試方法,那完成一個稍微複雜的腳本是相當痛苦的,所以掌握調試工具是寫出複雜程序的必備技能,那就引出了今天我們要說的pdb調試工具。
開始前我們先了解下pdb的常用命令:
1、step:單步調試,執行下一行代碼,但是有函數調用會進入函數內部。
2、next:執行下一行代碼,如果當前語句有函數調用,則不會進入函數體中
3、break:設置程序斷點,break 10 表示在第10行設置斷點
4、continue:繼續執行程序,直到下一個斷點
5、list:顯示第幾行,例如:list 50
6、print:這個就是打印想看的參數
7、quit:退出
我們拿一個例子看如果具體應用:
比如我調試我之前的腳本:parser_nginx_log.py
我用最簡單的方式在終端開始運行:
python -m pdb parser_nginx_log.py
截圖如下:
原文來自微信公衆號:Python運維技術
瀋陽做胃鏡的醫院:https://iask.sina.com.cn/h-sywcyy 煙臺無痛胃鏡醫院:https://iask.sina.com.cn/h-ytwcyy