PDB 调试简介
本章介绍 PDB 的常用调试方法
调试方法
- 在程序中导入 PDB 调用模块
import pdb; pdb.set_trace()
- 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前
python -m pdb myscript.py
- 在Python交互环境中启用调试
import pdb
import mymodule
pdb.run('mymodule.test()')
然后直接运行程序即可
常用调试功能
命令 | 功能 |
---|---|
p(pp) | 打印变量值 |
h(help) | 打印当前版本pdb可用的命令 |
l(list) | 打印当前要运行的代码块,再次使用会打印剩余代码 |
b(break) | 设置断点,如 b 10 即在第 10 行打断点,单独使用 b 会显示所有断点 |
! | 感叹号后面接语句能够改变变量的值如 !a=10 |
c(continue) | 继续运行,直到遇到断点 |
n(next) | 运行一行,但不会进入下一个函数调用 |
j(jump) | 跳转到某一行 |
w(where) | 打印当前栈跟踪记录 |
#!/usr/bin/env python
# -*- coding:utf-8 -*-
def main():
a = 1
b = 2
import pdb
pdb.set_trace()
print "Debug......"
print add(a, b)
def add(n1, n2):
r = n1 + n2
return r
if __name__ == "__main__":
main()