您的位置:首页 > 编程语言 > Python开发

python代码调试技巧

2015-01-05 15:22 363 查看
pdb调试:https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/
rpdb远程调试:rpdb全称是remote debugger based on pdb,这个干嘛用的,顾名思义,是一个可以远程调试python代码的python模块,基于pdb的基础上增加了额外的功能。
用起来也很简单,就像pdb一样。来看个例子:
[root@centos7 ~]# pip install rpdb  # 安装rpdb
例子1
[root@centos7 ~]# cat rpdb_1.py
#!/usr/bin/env python
a = 2
b = 3
import rpdb;rpdb.set_trace()       # 入门用法
print a
[root@centos7 ~]# python rpdb_1.py   # 默认情况下监听在本地的4444端口上
pdb is running on 127.0.0.1:4444

[root@centos7 ~]# telnet localhost 4444  # telnet上去调试
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
> /root/rpdb_1.py(6)<module>()
-> print a
(Pdb)

例子2
[root@centos7 ~]# cat rpdb_2.py   # 改变socket监听的地址和端口
#!/usr/bin/env python
import rpdb
a = 2
b = 3
debugger = rpdb.Rpdb(addr='0.0.0.0',port=12345)  # 初始化一个Rpdb的实例,具体参数可以help(rpdb.Rpdb)查看
debugger.set_trace()
print a
[root@centos7 ~]# python rpdb_2.py
pdb is running on 0.0.0.0:12345

[root@centos7 ~]# telnet 192.168.195.155 12345
Trying 192.168.195.155...
Connected to 192.168.195.155.
Escape character is '^]'.
> /root/rpdb_2.py(8)<module>()
-> print a
(Pdb) l
3  import rpdb
4  a = 2
5  b = 3
6  debugger = rpdb.Rpdb(addr='0.0.0.0',port=12345)
7  debugger.set_trace()
8  ->print a
9
[EOF]
(Pdb) pp b
3
rpdb模块官方介绍: https://pypi.python.org/pypi/rpdb/0.1.5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: