跳转到主要内容

Zope异常的事后调试

项目描述

当debug-mode=on时启用各种PDB调试

当Zope以调试模式运行时,此产品将PDB调试钩入Zope实例的各个部分。还包括一些Plone特定钩子。

需求

PDBDebugMode的此版本已在Python 2.7、3.6和3.7下与Zope4和Plone 5.2进行了测试

对于Zope 2(直到Plone 5.1),请使用Products.PDBDebugMode = 1.3

如果ipdb(http://pypi.python.org/pypi/ipdb)可用,它将使用该工具而不是标准pdb。

建议您使用可以与pdb合作的编辑器或IDE。例如,Emacs会在pdb提示符旁边显示源文件的相应行。

请记住,除非使用debug-mode=on运行Zope,否则该产品不会做任何事情,例如使用“./bin/instance fg”。

事后调试

为了更好地调查错误,使用Python日志模块记录的任何错误或异常,如果可以检索到跟踪回溯,则会调用pdb.post_mortem(),否则会调用set_trace。由于Zope错误日志异常处理程序在记录错误时使用日志模块,这为Zope错误的事后调试提供了支持。例如,从错误日志中删除NotFound或Unauthorized,然后使用PDB调查此类错误通常很有用。

执行调用请求

任何具有“pdb_runcall”键的请求都会在调试器中调用请求遍历的结果,从而允许执行步进。要调试POST或其他可能难以插入“pdb_runcall”键的请求,请在POST之前立即在URL末尾使用“?toggle_runcall=1”设置一个“pdb_runcall”cookie,该cookie将在提交POST时调用pdb.runcall。要在URL末尾使用“?toggle_runcall=1”清除cookie。请记住,cookie将在设置它的层次结构级别设置。

调试视图

此外,已为所有对象注册了一个名为“pdb”的视图,该视图将简单地引发异常,让您检查当前上下文。例如,通过调用https://127.0.0.1:8080/Plone/foo/@@pdb来使用它。

允许导入pdb

在不受保护的代码中,如Python脚本,也允许导入pdb模块。

变更日志

2.0 (2019-04-01)

新功能

  • 在启动时添加日志消息。[pbauer]

错误修复

1.4 (2019-03-02)

重大更改

  • 使其与Zope4兼容并停止对Zope 2的支持。[pbauer]

新功能

  • 添加对Python 3和2的兼容性。[frapell]

  • 改进调试模式检测,提供ZCML功能,并在使用“-D”运行测试时启用。[rpatterson]

  • 添加zope.testrunner支持。[rpatterson]

  • 添加runcall和broken_delete的某些缺失iPython支持。[rpatterson]

错误修复

  • 显然,ipdb支持仅适用于ipdb 0.3或更高版本。添加了一个“ipdb”额外要求。[rossp]

  • 修复zcatalog.py中的ipdb导入。[pabo]

1.3 - 2011-01-14

  • 忽略无效的GenericSetup处理程序。[rossp]

  • 当可用时使用ipdb。[neaj]

1.2 - 2011-01-07

  • 添加一些我在评估升级时使用的zopectl脚本。[rossp]

  • 在检查错误匹配时更好地处理异常。[rossp]

  • 修复错误日志忽略异常的事后调试问题。[rossp]

  • 修复处理套接字错误的问题

  • 修复处理SiteErrorLog跟踪回溯的问题

  • 修复处理exc_info日志参数的问题

1.1 - 2009-04-18

  • 修复由monkeypatcher更改引起的错误

1.0 - 2009-04-10

  • 将collective.monkeypatcher添加为要求[kdeldycke] 2009-04-09

  • 修复一些递归错误

0.3 - 2009-04-08

  • 使用collective.monkeypatcher将所有补丁移动到ZCML

  • 完全弃用Zope异常处理程序,改用日志钩子,因为Zope异常处理程序仍然使用日志模块,并且可以在该级别做更多的事情。

  • 在Products.PDBDebugMode.pdblogging中更优雅地处理失败的匹配

  • 更灵活的日志匹配。将Products.PDBDebugMode.pdblogging.ignore_regexes更改为ignore_matchers并接受任何可调用对象。

0.2 - 2008-05-15

  • Eggified

0.1 - 2006-03-11

  • 初始发布

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

Products.PDBDebugMode-2.0.tar.gz (17.9 kB 查看哈希值)

上传时间

由以下支持