import pdb
和
pdb.set-trace()
打个断点, 一行行运行。
Read Chapter 9—When You Don’t Even Know What to Log: Using Debuggers—of Karen Tracey’s Django 1.1 Testing and Debugging. ( Getting started with the Python debugger, pdb - Stack Overflow的285页开始,用关键词搜索找例子 )
命令 | 解释 |
---|---|
break 或 b 设置断点 | 设置断点 |
continue 或 c | 继续执行程序 |
list 或 l | 查看当前行的代码段 |
step 或 s | 进入函数 |
return 或 r | 执行代码直到从当前函数返回 |
exit 或 q | 中止并退出 |
next 或 n | 执行下一行 |
pp | 打印变量的值 |
help | 帮助 |
- Python 代码调试技巧 接下来用这里面的例子,进行debug。
import pdb
a = "aaa"
pdb.set_trace()
b = "bbb"
c = "ccc"
final = a + b + c
print final
点击一次run
后,
--Return--
> <ipython-input-9-f978fbaf6ec9>(3)<module>()->None
-> pdb.set_trace()
(Pdb)
等待执行程序,这个时候如果按输入n
且点击键盘上的enter
键。
--Return--
> <ipython-input-9-f978fbaf6ec9>(3)<module>()->None
-> pdb.set_trace()
(Pdb) n
> c:\programdata\anaconda3\lib\site-packages\ipython\core\interactiveshell.py(2865)run_code()
-> sys.excepthook = old_excepthook
开始了debug。这个时候重复点击键盘上的enter
键,一直debug。
--Return--
> <ipython-input-9-f978fbaf6ec9>(3)<module>()->None
-> pdb.set_trace()
(Pdb) n
> c:\programdata\anaconda3\lib\site-packages\ipython\core\interactiveshell.py(2865)run_code()
-> sys.excepthook = old_excepthook
(Pdb)
> c:\programdata\anaconda3\lib\site-packages\ipython\core\interactiveshell.py(2881)run_code()
-> outflag = False
(Pdb) c
aaabbbccc
玩够了以后,输入c
continue,继续执行程序,完成了。