zoukankan      html  css  js  c++  java
  • [python]

    1. 代码如下:

    # coding=gbk
    import pdb
    
    def pdb_test(arg):
        for i in range(arg):
            print (i)
        return arg
    
    pdb.run("pdb_test(3)")

    2. 调试过程

    > <string>(1)<module>()
    (Pdb) b pdb_test
    Breakpoint 1 at c:usersadministratorworkspacepracticesrcpractice_testdailytest.py:4
    (Pdb) b
    Num Type         Disp Enb   Where
    1   breakpoint   keep yes   at c:usersadministratorworkspacepracticesrcpractice_testdailytest.py:4
    (Pdb) c
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(5)pdb_test()
    -> for i in range(arg):
    (Pdb) l
      1      # coding=gbk
      2      import pdb
      3      
      4 B    def pdb_test(arg):
      5  ->        for i in range(arg):
      6              print (i)
      7          return arg
      8      
      9      pdb.run("pdb_test(3)")
     10      
     11      
    (Pdb) n
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(6)pdb_test()
    -> print (i)
    (Pdb) p i
    0
    (Pdb) n
    0
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(5)pdb_test()
    -> for i in range(arg):
    (Pdb) n
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(6)pdb_test()
    -> print (i)
    (Pdb) p i
    1
    (Pdb) n
    1
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(5)pdb_test()
    -> for i in range(arg):
    (Pdb) n
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(6)pdb_test()
    -> print (i)
    (Pdb) p i
    2
    (Pdb) n
    2
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(5)pdb_test()
    -> for i in range(arg):
    (Pdb) n
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(7)pdb_test()
    -> return arg
    (Pdb) p arg
    3
    (Pdb) a
    arg = 3
    (Pdb) n
    --Return--
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(7)pdb_test()->3
    -> return arg
    (Pdb) exit

    3. 调试命令详解

    b设置断点:

    (Pdb) b pdb_test
    Breakpoint 1 at c:usersadministratorworkspacepracticesrcpractice_testdailytest.py:4

    b查看断点:

    (Pdb) b
    Num Type         Disp Enb   Where
    1   breakpoint   keep yes   at c:usersadministratorworkspacepracticesrcpractice_testdailytest.py:4

    c运行程序,直到遇到断点:

    (Pdb) c
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(5)pdb_test()
    -> for i in range(arg):

    l查看断点周围的代码:

    (Pdb) l
      1      # coding=gbk
      2      import pdb
      3      
      4 B    def pdb_test(arg):
      5  ->        for i in range(arg):
      6              print (i)
      7          return arg
      8      
      9      pdb.run("pdb_test(3)")
     10      
     11      

    s, n单步运行,区别是s会进入路径中的函数,n不会进入:

    (Pdb) n
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(6)pdb_test()

    p查看表达式的值:

    -> print (i)
    (Pdb) p i
    0
    (Pdb) n
    0
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(5)pdb_test()
    -> for i in range(arg):
    (Pdb) n
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(6)pdb_test()
    -> print (i)
    (Pdb) p i
    1
    (Pdb) n
    1
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(5)pdb_test()
    -> for i in range(arg):
    (Pdb) n
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(6)pdb_test()
    -> print (i)
    (Pdb) p i
    2
    (Pdb) n
    2
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(5)pdb_test()
    -> for i in range(arg):
    (Pdb) n
    > c:usersadministratorworkspacepracticesrcpractice_testdailytest.py(7)pdb_test()
    -> return arg
    (Pdb) p arg
    3

    a查看参数:

    (Pdb) a
    arg = 3

    终止并退出:

    (Pdb) exit

    参考:

    http://www.cnblogs.com/chencheng/archive/2013/07/07/3161778.html 

    http://blog.csdn.net/carolzhang8406/article/details/6923997

  • 相关阅读:
    Chrome 中的彩蛋,一款小游戏,你知道吗?
    Json对象与Json字符串互转(4种转换方式)
    [PHP自动化-进阶]005.Snoopy采集框架介绍
    [PHP自动化-进阶]004.Snoopy VS CURL 模拟Discuz.net登陆
    [PHP自动化-进阶]003.CURL处理Https请求访问
    [PHP自动化-进阶]002.CURL模拟登录带有验证码的网站
    [PHP自动化-进阶]001.CURL模拟登录并采集数据
    [注]2015中国程序员生存报告,你苦你先看@^@
    [JavaWeb基础] 016.Struts2 国际化配置
    [工具推荐]_iOS音频批量转换
  • 原文地址:https://www.cnblogs.com/sophia194910/p/5139748.html
Copyright © 2011-2022 走看看