https://docs.python.org/zh-cn/3.7/library/pdb.html#module-pdb
python -m pdb test.py
import pdb
、pdb.set_trace()
再运行代码进行调试# test.py
def func():
print('enter func()')
a = 1
b = 2
import pdb
pdb.set_trace() # 运行到此处启动pdb
func()
c = 3
print(a + b + c)
简写 | 说明 |
---|---|
p <变量名> | 输出变量的值 |
l | 列出源码,当前位置前后11行 |
n | 执行吓一条语句 |
s | 执行下一条语句,如果是函数,则会进入函数内,显示–call–,执行函数内第一条语句,执行完函数内语句后跳出显示–return– |
b | 列出当前所有断点 |
b lineno | 在某行添加断点 |
cl | 清除断点 |
q | 退出调试pdb |
help | 帮助 |
# test.py
def memoize(f):
memo = {}
def helper(x):
if x not in memo:
memo[x] = f(x)
return memo[x]
return helper
@memoize
def fib(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fib(n-1) + fib(n-2)
def fib_seq(n):
res = []
if n > 0:
res.extend(fib_seq(n-1))
res.append(fib(n))
return res
fib_seq(30)
python -m cProfile test.py
博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议 我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1utoln9pyvwqu