python main调试_Python调试终端

后端服务程序开发运营过程中,难免会遇到一些BUG疑难杂症,是日志输出等调试手段无法定位的。

如有有一个工具,可以连上服务程序,查询服务中间状态或者修改程序变量,势必加速问题定位及解决。

本模块就是您想要的工具~

安装

模块代码已经在github上开源:libase.server.console,可以直接把代码clone下来安装。

$ git clone https://github.com/fasionchan/libase.git

$ cd libase

$ python setup.py install

当然了,libase也已经发布到PyPI上了。因此,更方便的安装方式是使用pip:

pip install libase

服务接入

需要远程调试的程序可以用start_console_server快捷启动一个远程调试终端服务。

然后,使用pyconsole命令便可以连上该程序,并初始化一个Python控制台用于调试了。

import time

from libase.server.console import start_console_server

counter = 0

start_console_server()

while True:

print counter

counter += 1

time.sleep(1)

例子是一个计算程序,使用start_console_server接入远程调试终端服务,端口为默认值4444。

连接调试

libase提供一个用于连接远程调试终端的程序pyconsole,以访问上述程序为例:

$ pyconsole 4444

Python 2.7.3 (default, Jan 2 2013, 13:56:14)

[GCC 4.7.2] on linux2

Type "help", "copyright", "credits" or "license" for more information.

(ConsoleProxy)

>>> print main.counter

93

>>> main.counter = 0

>>> print main.counter

1

>>> print main.counter

2

注意到,默认已经将进程的__main__模块引入到当前名字空间,名为main,其效果等同于在pyconsole中执行import __main__ as main。

高级用法

接口文档

start_console_server

start_console_server(port=4444, addr=’localhost’, ‘code’=”)

接入远程调试终端服务,返回一个ConsoleServer对象。

port 远程调试终端服务监听的端口,默认为4444

addr 远程调试终端服务监听的地址,可以为IP或者机器名,默认为localhost

code 初始化代码,可用于预先引入一些对象到终端所在名字空间

run_console_proxy

run_console_proxy(port=4444, addr=’localhost’)

以给定地址端口信息,连上接入远程调试终端的服务,并启动一个Python控制台。

port 远程调试终端所在端口,默认为4444

addr 远程调试中断所在机器地址,可以是IP或者机器名,默认为localhost

工具命令

pyconsole

用法:pyconsole [port] [addr]

port 远程调试终端所在端口,默认为4444

addr 远程调试中断所在机器地址,可以是IP或者机器名,默认为localhost

该命令,只是把run_console_proxy命令化,实现如下:

import sys

import rlcompleter

from libase.server.console import run_console_proxy

if __name__ == '__main__':

run_console_proxy(*sys.argv[1:])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值