美文网首页
使用pdb命令行调试python代码

使用pdb命令行调试python代码

作者: Cindy小隐 | 来源:发表于2016-11-25 10:39 被阅读0次

有时候不得已使用命令行调试,下面介绍运用python的pdb模块进行命令行调试的基本方法。

进入调试

有两种方法进入调试:

  1. 在xxx.py中载入pdb模块,并在需要的地方设置好断点,然后在命令行执行 python xxx.py就可以进入调试
import pdb
pdb.set_trace()  # 设置断点,在断点代码的上一行写入这行代码
  1. 在命令行使用参数进入调试 python -m pdb xxx.py,这样会自动停在第一行。

设置断点

# 设置当前脚本断点
(Pdb)b 10 # 断点设置在当前py的第10行
# 设置指定脚本断点
(Pdb)b xxx.py:20 #断点设置到 xxx.py第20行
# 删除断点
(Pdb)cl 1 #删除第1个断点
(Pdb)cl  # 删除所有断点

运行

(Pdb)n  # 单步运行,相当于IDE中的step over
(Pdb)s  # 深入方法内部运行,相当于IDE中的step into
(Pdb)u  # 跳出方法,相当于IDE中的step out
(Pdb)c  # 跳到下一个断点

查看当前代码位置

(Pdb) l
 65     newModelFile =outFile.replace("output.txt","model_corpus.pkl")
 66     infoFile = newModelFile.replace("model_corpus.pkl","info.pkl")
 67     topicsFile = newModelFile.replace("model_corpus.pkl","topics.pkl")
 68     vocabInfo, idList = GetDataFromDisk.get_vocab(vocabFile)
 69     pdb.set_trace()
 70  -> Data = GetDataFromDisk.get_data(testFile,vocabInfo,UnuseData)
 71     modelDict,InfoDict,topicsDict = GetDataFromDisk.get_Model(modelFile,outFile)
 72     if Data == 1:
 73         fw=open(outFile,"w")
 74         fw.close()
 75         print -1

第一次执行l命令,会打印出当前代码的上下各5行代码,此后每次执行l命令,都会连续往下打印10行代码,直到.py结尾。

打印变量

(Pdb)p param
# 如果变量是个复杂的对象,可以先打印查看变量的属性,然后查看变量的某个属性值
(Pdb)p dir(param)
(Pdb)p param.xxx

结束调试

(Pdb)q

相关文章

  • Python 必需学会的调式方法

    没错就是pdb 调试,pdb 是 python 的一个内置模块,用于命令行来调试 Python 代码。或许你会说,...

  • python调试模块pdb

    调试python代码 pdb模块使用方法一: pdb模块使用方法2:

  • python 调试

    使用 pdb 进行调试 pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功...

  • Python的Debug工具

    1. 命令行使用pdb (1) 我们先写个简单的python程序a.py如下: (2) 用pdb调试 2. ...

  • 来不及解释快上车的 PDB 调试指南

    什么是 PDB PDB 全称 Python Debugger,专门调试 Python 程序的官方库。 有代码就有 ...

  • 使用pdb命令行调试python代码

    有时候不得已使用命令行调试,下面介绍运用python的pdb模块进行命令行调试的基本方法。 进入调试 有两种方法进...

  • 参考资料:Python 的调试

    Python 代码调试技巧 我常用的 Python 调试工具 详细演示进入函数的 pdb s 调试 Python ...

  • Python PDB调试处理

    前言 如果你熟悉命令行调试工具,如GDB,那么使用Python中的PDB将获得非常好的体验,PDB不仅支持项目启动...

  • python程序调试

    python程序的调试需要导入一个库import pdb 在要调试那行代码前插入pdb.set_trace() 在...

  • Python38_pdb调试

    pdb:基于命令行的调试工具,非常类似gnu的gdb(调试c/c++)。 命令行启动方式 python -m pd...

网友评论

      本文标题:使用pdb命令行调试python代码

      本文链接:https://www.haomeiwen.com/subject/javipttx.html