小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

linux下調(diào)試python程序

 Frank__Library 2014-09-25

   之前調(diào)試python程序都是用print參數(shù),感覺有點(diǎn)弱爆啊,最近發(fā)現(xiàn)python也有類似C語言gdb的工具pdb,記錄下pdb的使用方法和心得。

  先找了段簡單的測試程序:

復(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)<module>()
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é)這些

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多