原文位址:http://www.cnblogs.com/chinasun021/archive/2013/03/19/2969107.html
先找了段簡單的測試程式:
複制代碼
!/usr/bin/python
from ftplib import FTP
import sys
import socket
import pdb
def passwordCorrect(ip,port,username,password):
try:
client = FTP()
pdb.set_trace()
client.connect(ip,port)
client.login(username,password)
client.close()
except Exception, e:
pdb.set_trace()
client.close()
if str(e).find(‘unknown IP address’)!=-1:
return 2
return 0
print “correct”
return 1
if name == ‘main‘:
socket.setdefaulttimeout(3)
ret = passwordCorrect(‘127.0.0.1’,21,’test’,’test’)
print “return is “,ret
複制代碼
pdb的常用指令說明:
l #檢視運作到哪行代碼
n #單步運作,跳過函數
s #單步運作,可進入函數
p 變量 #檢視變量值
b 行号 #斷點設定到第幾行
b #顯示所有斷點清單
cl 斷點号 #删除某個斷點
cl #删除所有斷點
c #跳到下一個斷點
r #return目前函數
exit #退出
調試記錄:
pdb設定斷點可以在程式裡加入:
import pdb
在需要設定斷點的地方加入pdb.set_trace()
執行python -m pdb test.py
複制代碼
1 [[email protected] practice]# vim test.py
2 [[email protected] practice]# python -m pdb test.py
3 > /home/practice/test.py(2)()
4 -> from ftplib import FTP
5 (Pdb) c
6 > /home/practice/test.py(10)passwordCorrect()
7 -> client.connect(ip,port)
複制代碼
按c逐個執行到下一個斷點,按p ip 就可以檢視變量ip的值
exit退出目前函數
主要用到的功能就是這些,暫且先學這些