python斷點除錯技巧 python除錯方法

2021-10-10 10:55:37 字數 1462 閱讀 3526

之前除錯python程式都是用print引數,感覺有點弱爆啊,最近發現python也有類似c語言gdb的工具pdb,記錄下pdb的使用方法和心得。

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

複製**

!/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

[root@wh practice]# vim test.py

[root@wh practice]# python -m pdb test.py

/home/practice/test.py(2)()

-> from ftplib import ftp

(pdb) c

/home/practice/test.py(10)passwordcorrect()

-> client.connect(ip,port)

複製**

按c逐個執行到下乙個斷點,按p ip 就可以檢視變數ip的值

exit退出當前函式

資料斷點除錯技巧

在軟體開發過程中,程式bug成為了不可避免的產物,而解決bug的主要途徑便是通過除錯,今天就在這裡大概講解下資料無故被修改,找不到修改的位置,如何來進行定位,怎麼來設定合適的斷點,軟體除錯過程中斷點是乙個非常重要的東西,斷點如果下的合適的話,會給除錯帶來很大的便利,否則可能對解決bug起不到很大的作...

iOS 斷點除錯小技巧

disable breakpoints 是讓你的斷點不能用 delete breakpoints 是刪除所有斷點 在專案執行的時候,有時候會莫名其妙有斷點,但是顯示沒有斷點,這時候你只要刪除所有斷點就可以正常執行了 除錯bug總有崩潰的地方,這裡有乙個辦法可以使得程式斷點出現在你有問題的部分 就是下...

Visual Studio除錯之斷點技巧篇補遺

講完 visual studio除錯之斷點技巧篇 以後,翻翻以前看得一些資料和自己寫的一些文章,發現還有幾個關於中斷程式的技巧在前面的文章裡面遺漏了,決定還是在這裡總結一下。當然啦,如果你知道這些技巧,忽略這篇文章好了,可能有人會對這個問題有一些爭議,因為大部分情況下我們只需要在偵錯程式 debug...