zoukankan      html  css  js  c++  java
  • python程序中的调试:pdb

    python中,也有像c/c++语言的 gdb 一样的调试程序,即pdb;

    只简单说明一个怎么使用它。

    假设已经有了一个python程序名为 test.py, 我们在命令行输入以下内容,即可以进行 python的调试阶段了:

    python -m pdb test.py            // 不加m 不行;
    
    //例如:
    yinheyi@ubuntu:~/grub$ python -m pdb test.py                                 
    > /home/yinheyi/grub/test.py(4)<module>()
    -> def fun():
    (Pdb)

    (至于为什么加 –m 参数或它表示什么意思呢? 查了一下,与 sys.path 有关,加入到 sys.path 列表里的变量不一样,反正不管了;)

    进入以后,我们可以通过 输入 h 得到帮助, 输入 h ,会显示常用的命令,如下所示:

    (Pdb) h
    
    Documented commands (type help <topic>):
    ========================================
    EOF    bt         cont      enable  jump  pp       run      unt   
    a      c          continue  exit    l     q        s        until 
    alias  cl         d         h       list  quit     step     up    
    args   clear      debug     help    n     r        tbreak   w     
    b      commands   disable   ignore  next  restart  u        whatis
    break  condition  down      j       p     return   unalias  where 
    
    Miscellaneous help topics:
    ==========================
    exec  pdb
    
    Undocumented commands:
    ======================
    retval  rv

    此时,比如我们输入: help b,  就会显示 b 命令的用法了;

    下面列出常用的命令:

    s                单步执行(会进行函数)
    n                执行下一行, 不会进行函数;
    c                继续执行,直到遇到断点;
    r                return, 执行代码直到当前函数返回;
    
    p               打印变量值,如: p a, 打印变量a 的值;
    l               查看当前要执行的代码段;默认列出11行(将执行的行的上下各5行);当带一个参数时,会列出给定行的上下各5行; 如果给定两个参数并用逗号分开,分列出所给定范围内的行;
    
    b               设置断点, 可以是行号,也可以是函数名;
    cl              用于清除断点;如果不加任何参数,则清除所以断点, 如果加上用空格分开的断点的编号,则清除它们,如: cl 2 4 ,清除断点2和断点4; 
    disable         使某个断点失效; 后面跟用空格分开的 一系列断点号,如: disable 1 3 4; 
    enable          使某些断点发挥作用; 用法与 disable类似; 
     
    exit             退出;
    
  • 相关阅读:
    支付宝移动支付开发详细教程服务端采用.net mvc webapi(C#)
    微信移动支付V3开发详细教程服务端采用.net mvc webapi(C#)
    CSS border-radius 圆角
    CSS hack大全&详解(什么是CSS hack)
    一小时搞定DIV+CSS布局-固定页面开度布局
    ASP.NET MVC3开发
    .net mvc页面UI之Jquery博客日历控件
    ASP.NET MVC3开发-数据库篇之CodeFisrt开发(一)
    ASP.NET MVC页面UI之联动下拉选择控件(省、市、县联动选择)
    Jquery文本框值改变事件(支持火狐、ie)
  • 原文地址:https://www.cnblogs.com/yinheyi/p/7351584.html
Copyright © 2011-2022 走看看