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]
错误修复
在测试中删除post_mortem,因为该功能现在是zope.testrunner的一部分,此处不再需要。修复https://github.com/plone/Products.CMFPlone/issues/2803 [pbauer]
删除对Zope 2的支持痕迹。[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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ed9bbf8dbdb3cc833386ba6636d5b4d7e55683e83c88f0ce5c267fdd38d99ba9 |
|
MD5 | 6ea6f65ce93a040afc9169575dbe093d |
|
BLAKE2b-256 | c46edc16e55291f0bf00bdf7645d6896ba29f762b065701efe5b8961375b9520 |