Python38_pdb调试
2019-09-28 本文已影响0人
jxvl假装
pdb:基于命令行的调试工具,非常类似gnu的gdb(调试c/c++)。
命令行启动方式
python -m pdb some.py
相关命令
l:显示程序所有代码(箭头指向了接下来要运行的地方)
n:向下执行一行代码(next),ps:如果该行是执行一个函数,则该函数被一下子执行完
c:一下子执行完程序(continue)
b 数字:在指定行加断点(break),让程序一下子执行到断点处
clear 数字:删除第几个断点(可以通过b
查看断点的序号)
如何进入函数:
-
在执行函数的一行加断点
-
当程序执行到断点处(函数处)时,
s
:进入到一个函数(step) -
a:查看所有形参数据(arguments)
-
r:快速执行到函数的最后一行(return)
p 变量名:查看变量的值(print)
q:退出调试
交互调试
进入python或ipython解释器
import pdb
pdb.run("test fun(args)") #此时会打开pdb调试,注意:先使用s跳转到这个test fun函数中,然后就可以使用
程序里埋点
当程序执行到pdb set_trace()位置时停下来调试
代码上下文
import pdb
pdb.set_trace() #程序执行到这里就开启pdb模式(可以开始用相关命令调试)
日志调试
通过日志调试找出bug,然后通过热修复(不停止程序的前提下,通过打补丁等方法修复bug)修复相关bug