devstack 调试技巧

本文介绍如何利用Python的pdb模块进行程序调试,包括在nosetests环境下解决pdb输入输出重定向问题的方法,以及如何在Horizon项目中启动调试环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,pdb

import pdb
pdb.set_trace()


2,nosetests

nosetests 运行测试时会重定向 std:in 和 std:out , 造成 pdb 无法正确输入和输出,在使用的使用,需要用以下代码做个 hack。

import sys
import pdb
for attr in ('stdin', 'stdout', 'stderr'):
    setattr(sys, attr, getattr(sys, '__%s__' % attr))
pdb.set_trace()
成功进入

solumuser@ubuntu14044:/opt/stack/solum$ nosetests solum/tests/api/handlers/test_workflow.py
> /opt/stack/solum/solum/api/handlers/workflow_handler.py(186)_execute_workflow_actions()
-> test_cmd = wf_obj.config['test_cmd']
(Pdb)

3,horizon 调试

cd /opt/stack/horizon
sudo python tools/install_venv.py
source .venv/bin/activate
python manage.py runserver 0.0.0.0:9000

虚拟环境中安装一个插件
sudo tools/with_venv.sh pip install -e /opt/stack/solum-dashboard

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值