码迷,mamicode.com
首页 > 数据库 > 详细

logging 和pdb

时间:2015-08-25 18:59:30      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

1.logging

  debug<info<warning<error

import logging
logging.basicConfig(level=logging.INFO)  #设置info,高于等于info的可以输出
s=1
logging.info(s=%s %s)

2. pdb

   a) 命令行 python -m pdb xxx.py(按顺序 one by one执行) 

   b) python xxx.py (在代码中设置 pdb.set_trace(), 会直接执行到set_trace处)

import pdb
a=1
b=2
c=3
pdb.set_trace()
d=a+b+c
print d

 一些命令

E:\Telsa\com>C:\Python27\python.exe -m pdb err.py
> e:\telsa\com\err.py(1)<module>()
-> import pdb                          #该执行import pdb
(Pdb) n                                   #执行下一步 import pdb
> e:\telsa\com\err.py(2)<module>()
-> a=1
(Pdb) n                                  #a=1执行完毕
> e:\telsa\com\err.py(3)<module>()
-> b=2
(Pdb) p a                             #查看a的值
1
(Pdb) p b                            #b=2没有执行,所以NameError
*** NameError: NameError("name ‘b‘ is not
(Pdb) c                               # c 表示一路向下执行,直到set_trace
> e:\telsa\com\err.py(6)<module>()
-> d=a+b+c                                       
(Pdb) n                              #遇到 d=a+b+c 前面的set_trace,停下了,按n 或c继续执行
> e:\telsa\com\err.py(7)<module>()
-> print d
(Pdb) c
6
The program finished and will be restarted
> e:\telsa\com\err.py(1)<module>()
-> import pdb
(Pdb)
> e:\telsa\com\err.py(1)<module>()
-> import pdb
(Pdb) list    #查看执行代码,->表示该执行此句(还未执行)
  1  -> import pdb
  2     a=1
  3     b=2
  4     c=3
  5     pdb.set_trace()
  6     d=a+b+c
  7     print d
[EOF]
(Pdb)

 q退出pdb

 s 进入函数

  ex:被调试对象

def run(s):
    s+=‘‘
    return s

s=S
print run(s)

 

 技术分享

logging 和pdb

标签:

原文地址:http://www.cnblogs.com/Citizen/p/4757661.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!