This patch adds interactive (web-browser) debug capabilities to admin app, similar to shell, but issuing commands directly to PDB, the Python Debugger.
Although this is a functional version, it is limited, as it requires calling gluon.debug.set_trace() and gluon.debug.stop_trace() to start and stop debugging.
If stop_trace is not called, or the debug controller is not refreshed, internal communication queue can block web2py.
Pages being debugged will be blocked until debug ends, same as if it was using pdb via the console.
Debug controller will be blocked until first breakpoint (set_trace) is reached.
A more advanced version could set breakpoints automatically (without altering the source code) with more friendly UI (with variable inspection and so on).
The use of this debugger is optional, it is not imported by default and normal operation of web2py is not modified.
From reingart@gmail.com on January 12, 2011 07:28:17
This patch adds interactive (web-browser) debug capabilities to admin app, similar to shell, but issuing commands directly to PDB, the Python Debugger.
Although this is a functional version, it is limited, as it requires calling gluon.debug.set_trace() and gluon.debug.stop_trace() to start and stop debugging. If stop_trace is not called, or the debug controller is not refreshed, internal communication queue can block web2py.
Pages being debugged will be blocked until debug ends, same as if it was using pdb via the console. Debug controller will be blocked until first breakpoint (set_trace) is reached.
A more advanced version could set breakpoints automatically (without altering the source code) with more friendly UI (with variable inspection and so on).
The use of this debugger is optional, it is not imported by default and normal operation of web2py is not modified.
Attachment: debug0.diff
Original issue: http://code.google.com/p/web2py/issues/detail?id=156