pdb

使用 epdb 远程调试 python

有很多时候不能直接使用 pdb/ipdb,比如多进程,比如后台服务。

这个时候可以用 epdb,远程调试工具

在服务端代码中加入:

import epdb; epdb.serve() #可以填一个参数 port,默认是8080

程序执行到这里会卡住,并且监听在8080端口等待连接。

另外开一个python终端

import epdb
epdb.connect()  # 两个参数 connect(host='localhost', port=8080)

之后就和本地 pdb 一样了。… 查看详细

异常自动跳入 pdb

又是 OpenStack 社区发布新版本的时候,又是一次各种新包发布的季节,又是 CI 奔溃的节奏。

CI 好不容易把 devstack 安装上了,最后跑 tempest 测试时丢出这么一堆东西:

WARNING:test command found but not installed in testenv
  cmd: /bin/bash
  env: /opt/stack/new/tempest/.tox/testr-full
Maybe forgot to specify a dependency?
Traceback (most recent call last):
  File "setup.py", line 22, in <module>
    pbr=True)
  File "/usr/lib/python2.7/distutils/core.py", line 137, in setup
    ok = dist.parse_command_line()
查看详细