- 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
- Photoshop CS6平面設計應用教程(第4版)
- Moldflow模流分析與工程應用
- 下一代空間計算:AR與VR創(chuàng)新理論與實踐
- Photoshop+CorelDRAW平面設計實例教程(第4版)
- 中文版3ds Max 2016實用教程
- 輕松玩轉3D One AI
- Lighttpd
- Adobe創(chuàng)意大學InDesign CS5 產(chǎn)品專家認證標準教材
- 構筑敏捷的開發(fā)團隊:微軟Visual Studio 2010實戰(zhàn)兵法
- 中文版InDesign CC平面排版設計從入門到精通
- Web Host Manager Administration Guide
- VMware Virtual SAN實戰(zhàn)
- 中文版Illustrator CS6基礎培訓教程(第2版)
- Cinema 4D電商美工與視覺設計案例教程
- 新編 中文版CorelDRAW X8入門與提高