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