命令 | 作用 |
---|---|
b | 设置断点 |
c | 继续执行程序 |
l | 查看当前行的代码段 |
s | 进入函数 |
r | 执行代码直到从当前函数返回 |
q | 中止并退出 |
n | 执行下一行 |
enter | 重复执行上一条命令 |
只要在想要调试的时候加入,代码运行到这里就会暂停
pdb.set_trace()
python中的日志模块logging也经常用作调试,logging分为5个级别
级别 | 使用情形 |
---|---|
DEBUG | 详细的信息,在追踪问题的时候使用 |
INFO | 正常的信息 |
WARNING | 一些不可预见的问题发生,或者将要发生,如磁盘空间低等,但不影响程序的运行 |
ERROR | 由于某些严重的问题,程序中的一些功能受到影响 |
CRITICAL | 严重的错误,或者程序本身不能够继续运行 |
import logging
LOG1 = logging.getLogger('b.c')
LOG2 = logging.getLogger('d.e')
filehandler = logging.FileHandler('test.log', 'a')
formatter = logging.Formatter('%(name)s %(asctime)s %(levelname)s %(message)s')
filehandler.setFormatter(formatter)
filter = logging.Filter('b')
filehandler.addFilter(filter)
LOG1.addHandler(filehandler)
LOG2.addHandler(filehandler)
LOG1.setLevel(logging.INFO)
LOG2.setLevel(logging.DEBUG)
LOG1.debug('it is a debug info for log1')
LOG1.info('normal infor for log1')
LOG1.warning('warning info for log1:b.c')
LOG1.error('error info for log1:abcd')
LOG1.critical('critical info for log1:not worked')
LOG2.debug('debug info for log2')
LOG2.info('normal info for log2')
LOG2.warning('warning info for log2')
LOG2.error('error:b.c')
LOG2.critical('critical')