python断点调试技巧-python调试方法

之前调试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退出当前函数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值