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
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