iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 调试器
  • 502
分享到

python 调试器

调试器python 2023-01-31 01:01:37 502人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

python 调试器:使用 pdb 进行调试pdb 是 Python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。pdb 提


python 调试器:

使用 pdb 进行调试

pdb 是 Python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。pdb 提供了一些常用的调试命令,详情见表 1。

表 1. pdb 常用命令


wKiom1aaQfmgn9ovAAAoVgbW4fQ070.png



import pdb

pdb.set_t





下面结合具体的实例讲述如何使用 pdb 进行调试。

清单 1. 测试代码示例
vim pdbtest.py    
#!/usr/bin/env python


import pdb
a = "aapdb"
pdb.set_trace() 
b = "bbbaa"
c = "cccaaa"
final = a + b + c 
print final




 python  pdbtest.py

> /root/pdbtest.py(7)<module>()

-> b = "bbbaa"

(Pdb) 

(Pdb) c

aapdbbbbaacccaaa




开始调试:直接运行脚本,会停留在 pdb.set_trace() 处,选择 n+enter 可以执行当前的 statement。在第一次按下了 n+enter 之后可以直接按 enter 表示重复执行上一条 debug 命令。


清单 2. 利用 pdb 调试
python  pdbtest.py
> /root/pdbtest.py(7)<module>()
-> b = "bbbaa"
(Pdb) list
  2  
  3  
  4     import pdb 
  5     a = "aapdb"
  6     pdb.set_trace() 
  7  -> b = "bbbaa"
  8     c = "cccaaa"
  9     final = a + b + c 
 10     print final
[EOF]
(Pdb) n
> /root/pdbtest.py(8)<module>()
-> c = "cccaaa"
(Pdb) n
> /root/pdbtest.py(9)<module>()
-> final = a + b + c
(Pdb) n 
> /root/pdbtest.py(10)<module>()
-> print final
(Pdb) n
aapdbbbbaacccaaa
--Return--
> /root/pdbtest.py(10)<module>()->None
-> print final
(Pdb)



退出 debug:使用 quit 或者 q 可以退出当前的 debug,但是 quit 会以一种非常粗鲁的方式退出程序,其结果是直接 crash。










race() # 开启pdb提示

或者

try:
(一段抛出异常的代码)
except:
    import pdb
    pdb.pm() # 或者 pdb.post_mortem()


或者(输入 c 开始执行脚本)

python -mpdb script.py


在输入-计算-输出循环(注:REPL,READ-EVAL-PRINT-LOOP的缩写)环境下,可以有如下操作:

  • c or continue

  • q or quit

  • l or list, 显示当前步帧的源码

  • w or where,回溯调用过程

  • d or down, 后退一步帧(注:相当于回滚)

  • u or up, 前进一步帧

  • (回车), 重复上一条指令

其余的几乎全部指令(还有很少的其他一些命令除外),在当前步帧上当作python代码进行解析。

如果你觉得挑战性还不够的话,可以试下smiley,-它可以给你展示那些变量而且你能使用它来远程追踪程序。






iPDB是一个极好的工具,我已经用它查出了很多匪夷所思的bug。

pip install ipdb 安装该工具,然后在你的代码中import ipdb; ipdb.set_trace(),然后你会在你的程序运行时,获得一个很好的交互式提示。它每次执行程序的一行并且检查变量。


更好的调试器

pdb的直接替代者:
ipdb(easy_install ipdb) – 类似ipython(有自动完成,显示颜色等)
pudb(easy_install pudb) – 基于curses(类似图形界面接口),特别适合浏览源代码

 




--结束END--

本文标题: python 调试器

本文链接: https://www.lsjlt.com/news/184852.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 调试器
    python 调试器:使用 pdb 进行调试pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。pdb 提...
    99+
    2023-01-31
    调试器 python
  • Python中怎么实现调试器调试
    今天就跟大家聊聊有关Python中怎么实现调试器调试,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。PyDev 就能显示出一个超链接,这样您可以在导入库或函数的源代码之间导航。请注意,...
    99+
    2023-06-17
  • python 调试
    设断点,打印需要的信息:print xxoosys.exit()...
    99+
    2023-01-31
    python
  • VIM PYTHON 调试
      python << EOF  import time  import vim  def SetBreakpoint():      nLine = int( vim.eval( 'line(".")'))      strL...
    99+
    2023-01-31
    VIM PYTHON
  • python中什么是调试器
    这期内容当中小编将会给大家带来有关python中什么是调试器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pil...
    99+
    2023-06-14
  • python中调试器pdb怎么用
    这篇文章主要介绍了python中调试器pdb怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用PDB的方式有两种:1. 单步执行代码,通过命令 python -m pd...
    99+
    2023-06-07
  • python pdb调试器如何使用
    这篇文章主要介绍了python pdb调试器如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python pdb调试器如何使用文章都会有所收获,下面我们一起来看看吧。pdb 使用方法1...
    99+
    2023-07-02
  • 详解Python调试神器之PySnooper
    相信很多程序员在调试代码时,都用过 print。代码少还好说,如果是大型项目,面对众多 print 的输出结果,可能要头大了。 今天推荐一个 GitHub 热门开源项目:PySnoo...
    99+
    2022-11-12
  • Python调试器有什么功能
    这篇文章主要讲解了“Python调试器有什么功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python调试器有什么功能”吧!在Python 调试器为函数和导入库加入了超链接的特性以后,在...
    99+
    2023-06-17
  • python之Windows调试
    Windows下IDLE调试先写个简单的程序做示例,代码如下打开idle,新建一个文件,点file---new file#!/usr/bin/env python# coding: utf-8__author__ = 'www.py...
    99+
    2023-01-30
    python Windows
  • python调试代码
    我在看一些开源的python项目时,需要知道各个类各个函数之间的调用关系才能看懂代码,因此我写了个方法来跟踪代码的调用过程   import sys  from time import ctime  is_log=True  def log...
    99+
    2023-01-31
    代码 python
  • Python断点调试
    很多项目是用python写构建脚本的,比如微信最近开源的终端跨平台组件 Mars 本文将以mars为例简单介绍下如何用PyCharm对python进行断点调试。 导入代码 open整个mars项目,切换合适的python版本,...
    99+
    2023-01-31
    断点 Python
  • python pdb调试器及使用方法
    目录pdb 使用方法1. 常用命令a. 断点设置b. 运行c. 查看d. 其他2. 使用方法一3. 使用方法二pdb 使用方法 1. 常用命令 a. 断点设置 b(reak) [([...
    99+
    2022-11-11
  • #7 Python代码调试
    前言 Python已经学了这么久了,你现在已经长大了,该学会自己调试代码了!相信大家在编写程序过程中会遇到大量的错误信息,我也不例外的啦~遇到这些问题该怎么解决呢?使用最多的方法就是使用print打印中间变量了哇,关于这种方法怎么说呢~l...
    99+
    2023-01-31
    代码 Python
  • Windows下,VIM调试python
    作者:半瓶墨水 链接:http://www.2maomao.com/blog/win32-vim-debug-python/ vim很好用,但是python的set_trace太难用了,参考这篇文章,自己搞了一下。 现在Ctrl+...
    99+
    2023-01-31
    Windows VIM python
  • Python -- pdb调试工具
    诗歌是一种忧郁的媒体,而诗人的使命是孤独的;     -- 北岛《时间的玫瑰》学习是一首深邃的民谣,而我们的任务是享受他。     -- 小Q 《20161203》--------------------------------------...
    99+
    2023-01-31
    调试工具 Python pdb
  • python之错误调试
      无论谁写的程序,必定会存在bug,解决bug需要我们去调试程序。于是乎,在Python中,就会好几种调试手段,如print、assert、logging、pdb、pdb.set_trace()   一、使用print()函数直接打印 ...
    99+
    2023-01-31
    错误 python
  • 如何调试python(Debugging
    原文:https://blog.csdn.net/qq_35636311/article/details/78244658 利用好调试,能大大提高你捕捉代码Bug的。大部分新人忽略了Python debugger(pdb)的重要性。 在这...
    99+
    2023-01-31
    python Debugging
  • python之linux下pdb试调
    编写一个简单程序用pdb试调一下,代码如下#!/usr/bin/env python # coding: utf-8 __author__ = 'www.py3study.com&#...
    99+
    2023-01-30
    linux python 试调
  • python调试 设置断点
    1在所需要调试的地方加入如下代码:    import pdb    pdb.set_trace() 2调试代码常用命令:     实例请见参考文...
    99+
    2023-01-31
    断点 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作