zoukankan      html  css  js  c++  java
  • Python自带又好用的代码调试工具Pdb学习笔记

    返璞归真

    这几天项目有一个linux下部署数据库的操作,数据库使用python进行初始化安装。然后问题来了,由于linux服务器涉及安全要求,除了代码以来的Python3.6版本外不允许安装其他插件与工具,不巧的是python的代码报错了…
    如果放在平时,代码报错编辑器下debug,分分钟解决。可Linux环境下怎么处理?如果允许安装第三方模块,PySnooper其实是个比较好的选择。可悲的是安全不允许啊…
    其实Python,自带了一个debug的工具 pdb。说实话,这模块跟IDE下debug比,相差十万八千里,但有时候能实现功能的东西就是好东西!

    pdb学习

    pdb为Python程序定义了一个交互式源代码调试器。它支持在源代码行级别设置(条件)断点和单步执行,检查堆栈帧,源代码列表以及在任何堆栈帧的上下文中评估任意Python代码。它还支持事后调试,可以在程序控制下调用。

    pdb说明

    命令 说明
    break 或 b 设置断点
    continue 或 c 继续执行程序
    list 或 l 查看当前行的代码段
    step 或 s 进入函数
    return 或 r 执行代码直到从当前函数返回
    exit 或 q 中止并退出
    next 或 n 执行下一行
    pp 打印变量的值
    help 帮助

    b:(break)添加断点

    • b 列出当前所有断点,和断点执行到统计次数

    • b line_no:当前脚本的line_no行添加断点

    • b filename:line_no:脚本filename的line_no行添加断点

    • b function:在函数function的第一条可执行语句处添加断点

    cl:(clear)清除断点

    • cl 清除所有断点

    • cl bpnumber1 bpnumber2… 清除断点号为bpnumber1,bpnumber2…的断点

    • cl lineno 清除当前脚本lineno行的断点

    • cl filename:line_no 清除脚本filename的line_no行的断点

    l:(list)列出源码

    • l 列出当前执行语句周围11条代码

    • l first 列出first行周围11条代码

    • l first second 列出first—second范围的代码,如果second<first,second将被解析为行数

    代码调试

    首先我们来准备一份调试代码:

    启动调试

    以上就是基础的pdb代码调试方式了,如果大家之后也遇到需要临时调试的场景,可以尝试这种交互式的调试方式。即便不如IDE好用,但艺多不压身,多学一个模块好处多多!

    The End

    OK,今天的内容就到这里,如果觉得内容对你有所帮助,欢迎点击文章右下角的“在看”。 期待你关注我的公众号清风Python,如果觉得不错,希望能动动手指转发给你身边的朋友们。

    作者:清风Python

  • 相关阅读:
    CSS3盒模型display:box详解
    微信公众平台开发:Web App开发入门
    viewController启动方法分析
    图片上加载阴影效果
    属性 与成员变量的 区别与联系 及属性修饰词理解
    封装 继承 多态 抽象的一点点理解
    UISegmentedControl 踩坑
    沙盒存储
    iOS项目在非测试设备上的安装方法(项目上线前)
    三方
  • 原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13165448.html
Copyright © 2011-2022 走看看