Python PDB簡單調試方式
Python編程語言對于那些有經驗的開發(fā)人員來說上手比較容易,而且這一語言的功能比較強大,是一款面向對象的通用型編程語言,可以幫助我們輕松的完成各種功能需求。我們今天先為大家介紹一下Python PDB的相關調試方法。#t#
使用過C語言的程序員肯定對 GDB 不陌生, 它的單步調試等功能對于常常需要debug 的我們而言是非常重要的, 而作為動態(tài)語言的 Python 它的動態(tài)性等對于單步調試 帶來了一定的難度, 但是 Python 的標準模塊 PDB 則依照 GDB 較好地解決了 這個問題.本文就簡單地介紹如何使用 PDB 進行單步調試.
什么是Python PDB
根據 PDB 在 Python 文檔中的定義, 它是一種為 Python 程序提供一種 交互的源碼調試功能的模塊.主要的特點(feature)包括:
條件斷點
源碼行級的單步調試
查看棧片斷
在任意的棧片斷的環(huán)境下對任意的代碼進行求值(類似于 GDB )
代碼列出
其它
使用Python PDB進行簡單的調試
Python 程序也可以實現(xiàn)類似于c/c++的單步調試功能,而 Python 中的調試模塊 PDB 類似于c中的 GDB (常用命令等),可以進行方便的調試。
下面是一個例子(debug_demo.py):
- #!/usr/bin/env Python
- _debug = True
- def debug_demo(val):
- if _debug:
- import pdb
- pdb.set_trace() #引入相關的pdb模塊
- if val < 10:
- print "less than 10"
- elif val<20:
- print "less than 20, but big than 10"
- else:
- print "other condition"
在命令行中按如下方法進行調試:
- Python debug_demo.py
這時會進入類似于gdb的界面,啟動相關的調試
- > /home/tower/test/Python/debug.py(9)debug_demo()
- -> if val <= 10:
- (Pdb)
可以輸入h來查看可用的命令集(很類似于gdb)。 單步調試對于某些情況下的調試是非常有幫助的
結論
單步調試對于程序關鍵部分的邏輯跟蹤是很有意義的,所以Python PDB之于 Python 類似于 GDB 之于C/C++. 但是相比于 GDB 而言, PDB 的功能還稍顯弱了許多, 所以還無法在 PDB里使用到 GDB 的所有feature. 可以預期的是隨著 Python 轉至3.0及至后面的版本升級, PDB 也會愈發(fā)完善.值得期待.