- Plone 3 Products Development Cookbook
- Juan Pablo Gimenez Marcos F.Romero
- 299字
- 2021-08-06 17:05:59
Debugging Zope exceptions with PDBDebug Mode
Whenever an exception is fired by some situation not foreseen during development, we can trace the exception in Zope logs or in the console itself. Many times during development, it's more useful to get direct access to the exception's context to better understand the problem. PDBDebugMode, a postmortem debugger, allows us to do that. It opens a pdb
prompt to let us get our hands dirty.
How to do it…
- Add a
Products.PDBDebugMode
line in theeggs
parameter of the[buildout]
part.[buildout] ... # Add additional eggs here eggs = iw.debug Products.DocFinderTab Products.Clouseau Products.PDBDebugMode
- Rebuild the Zope instance:
./bin/buildout
- Test
PDBDebugMode
. As we said earlier, from now on every time Zope fires an exception (if running in debug mode), apdb
(not anipdb
though) will prompt us to inspect the context.- For an easy test, we must first tell Zope to pay attention to (that is, not ignore) the kind of exceptions we are going to produce. Open your browser and go to
http://localhost:8080/plone/prefs_error_log_form
and delete theNotFound
line in Ignored exception types field (or you can also follow theipzope
example we included in Accessing an IPython powered shell earlier). - Then type any URL that you know doesn't exist, like
http://localhost:8080/plone/doesnt-exist
.
Now check your console. You will see a
pdb
prompt waiting for you. Unluckily, this example is not a very good one because the exception was fired by theZPublisher
(try writingself
in the console), so we can't see familiar code. - For an easy test, we must first tell Zope to pay attention to (that is, not ignore) the kind of exceptions we are going to produce. Open your browser and go to
Note
You can suffer problems with PDBDebugMode
such as triggering on at unexpected times, causing apparent slowness, or freezes. Thus, if your instance doesn't seem to be responding, check its console.
More information about PDBDebugMode
is available at: http://plone.org/products/pdbdebugmode.
See also
- Accessing an IPython powered shell
- HTML5 Multimedia Development Cookbook
- PS職場達(dá)人煉成記:人人都能學(xué)會的Photoshop辦公設(shè)計技巧
- Oracle Business Intelligence : The Condensed Guide to Analysis and Reporting
- Premiere Pro 2022短視頻剪輯、調(diào)色與特效制作實戰(zhàn)(全彩微課版)
- 從零開始:Photoshop CC 2019中文版基礎(chǔ)教程
- Excel 數(shù)據(jù)處理與分析實例教程(第2版)
- AutoCAD快速自學(xué)寶典(2018中文版)
- Adobe創(chuàng)意大學(xué)Illustrator產(chǎn)品專家認(rèn)證標(biāo)準(zhǔn)教材(CS6修訂版)
- 工業(yè)軟件研發(fā)、測試與質(zhì)量管理論叢
- Excel 2016入門與提高
- iPad+Procreate室內(nèi)設(shè)計手繪表現(xiàn)技法
- SolidWorks 2020中文版從入門到精通
- iPad Procreate風(fēng)格繪畫之美
- 中文版Photoshop CS6完全自學(xué)手冊(超值版)
- Flash CS5動畫設(shè)計教程