Linux下调试python
原文地址:http://www.cnblogs.com/chinasun021/archive/2013/03/19/2969107.html
先找了段簡單的測試程序:
復(fù)制代碼
!/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
復(fù)制代碼
pdb的常用命令說明:
l #查看運(yùn)行到哪行代碼
n #單步運(yùn)行,跳過函數(shù)
s #單步運(yùn)行,可進(jìn)入函數(shù)
p 變量 #查看變量值
b 行號(hào) #斷點(diǎn)設(shè)置到第幾行
b #顯示所有斷點(diǎn)列表
cl 斷點(diǎn)號(hào) #刪除某個(gè)斷點(diǎn)
cl #刪除所有斷點(diǎn)
c #跳到下一個(gè)斷點(diǎn)
r #return當(dāng)前函數(shù)
exit #退出
調(diào)試記錄:
pdb設(shè)置斷點(diǎn)可以在程序里加入:
import pdb
在需要設(shè)置斷點(diǎn)的地方加入pdb.set_trace()
執(zhí)行python -m pdb test.py
復(fù)制代碼
1 [root@wh practice]# vim test.py
2 [root@wh 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)
復(fù)制代碼
按c逐個(gè)執(zhí)行到下一個(gè)斷點(diǎn),按p ip 就可以查看變量ip的值
exit退出當(dāng)前函數(shù)
主要用到的功能就是這些,暫且先學(xué)這些
總結(jié)
以上是生活随笔為你收集整理的Linux下调试python的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: caffe:Data 层
- 下一篇: linux 其他常用命令