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查看断点的序号)

如何进入函数:

  1. 在执行函数的一行加断点

  2. 当程序执行到断点处(函数处)时,s:进入到一个函数(step)

  3. a:查看所有形参数据(arguments)

  4. 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

上一篇下一篇

猜你喜欢

热点阅读