这是扩展的python调试器(pdb)。它很少提供有助于调试的非常有用的特性,特别是zope2/zope3/plone实例。

stxnext.pdb的Python项目详细描述


概述

这是标准的Python Debugger扩展,具有一些使 调试更容易。

stxnext.pdb主要为zope用户提供便利,但可以用于 其他python项目也一样。

功能

标准PDB新增功能:

  • 改进了dir函数。标准dir函数列出所有 一些对象的方法和属性。这种改进的dir打印 此函数的输出分为几列。也可能是过滤 使用正则表达式。

    示例:

    (STX Next pdb) obj = object()
    (STX Next pdb) dir(obj)
    __class__                                 __reduce__
    __delattr__                               __reduce_ex__
    __doc__                                   __repr__
    __getattribute__                          __setattr__
    __hash__                                  __str__
    __init__
    __new__
    (STX Next pdb) dir obj attr
    __delattr__                               __setattr__
    __getattribute__
    (STX Next pdb) dir obj ^__[r-z]+
    __reduce__                                __setattr__
    __reduce_ex__                             __str__
    __repr__
    
  • info命令打印有关对象的基本信息。

    示例:

    (STX Next pdb) info obj
    type:        <type 'object'>
    class:       <type 'object'>
    id:          140460386956752
    str:         <object object at 0x7fbf7b7835d0>
    repr:        <object object at 0x7fbf7b7835d0>
    docstring:   The most base type
    
  • update_localsul)-用几个有用的变量更新当前本地变量 以及功能。如果stxnext.pdb可以找到zope或plone,它会频繁地导入 使用的函数(例如gettoolbyname、getmultiadapter、alsoprovides)。如果 context可用,它还可以导入plone工具。stxnext.pdb外观 对于当前局部变量中名为self.contextcontextself的变量。 如果上下文应该是其他的,它可以作为参数传递:

    示例:

    (STX Next pdb) update_locals #zope found, context unknown
    New locals:
        Attribute
        Interface
        ...
        schema
        sys
    
    (STX Next pdb) ul this_is_context #zope and plone found, correct context
    New locals:
        Attribute
        Interface
        ...
        sys
        uid_catalog
    

使用

stxnext.pdb可以由标准pdb invoke打开-只能导入pdb 来自stxnext模块。

因为集合svn存储库块在代码中使用set_trace提交, 在下一行中,必须将“*”替换为“u”:

>>> import pdb; pdb.set*trace() #open standard pdb
(Pdb) c
>>> from stxnext import pdb; pdb.set*trace()
(STX Next pdb) c

如果zope实例使用debug-mode=on运行,则可以从web调用pdb 浏览器-只需将pdb添加到url(例如http://127.0.0.1:8080/plonesite/pdb)。 在这种方法中,stxnext.pdb尝试打开tab completion-请参见rlcompleter documentation

安装

或者,如果您使用zc.buildout来管理项目, 您可以这样做:

  • stxnext.pdb添加到要安装的鸡蛋列表中,例如:

    [buildout]
    ...
    eggs =
        ...
        stxnext.pdb
    
  • 如果使用plone.recipe.zope2instance recipe管理 实例添加这些行以安装zcml slug:

    [instance]
    recipe = plone.recipe.zope2instance
    ...
    zcml =
        ...
        stxnext.pdb
    
  • 如果您使用zc.zope3recipes:application recipe来管理 实例添加这些行以安装zcml slug:

    [instance]
    recipe = zc.zope3recipes:application
    ...
    site.zcml =
        ...
        <include package="stxnext.pdb" />
    
  • 重新运行构建,例如使用:

    $ ./bin/buildout
    

如果要显式地包含包,可以跳过zcml slug 从另一个包的configure.zcml文件。

作者和联系人

Author:Wojciech Lichota <^{tt3}$>
http://stxnext.pl/open-source/files/stx-next-logo

stx下一步sp.z o.o.

http://stxnext.pl

info@stxnext.pl

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaSwing:如何读取组件下面的图形信息?   JAVAutil。scanner Java scanner为什么跳过代码中的nextLine()?   html如何在jsp文件中使用内联java比较器?   编组时单个元素组的java JAXB元素包装器   java如何使SeleniumWebDriver动态选择客户端证书,而无需直观地检测弹出窗口   java定位服务。FusedLocationApi。getLastLocation(mGoogleApiClient)获取null   java如何快速创建指向Eclipse中元素的Javadoc链接?   如何使用Java语言填充MS Word模板?   java 安卓应用程序不显示来自服务器的值   java有没有办法解决这个问题:第45行第7列path$处的预期名称。客户端[0]。服务   java如何使用ASM仅从switch中删除break语句?   java LOOK else if语句:我把它放在哪里   无效的Java语句   java输出不应包含0值   java遇到意外文本时要抛出什么异常?   java如何将文本文件数组中的数字添加到2d int数组中?   java如何从列表中的对象访问属性?   对象的oop锁方法(Java)   java字符串连接concat()和+运算符的有效使用