A debug server for WSGI apps.
Project description
OhOh is a debugger for your WSGI applications. Using OhOh, you can inspect the stack frames of a wsgi app that’s thrown an exception.
Usage
Use this command to serve your wsgi app in debug mode:
> ohoh "package.module:wsgi_app" -s localost:5000
For a full range of options, see ohoh -h
OhOh provides a plug-in for the httpie utility. You can install httpie using pip install httpie. Once you send a request that results in an exception, you will enter the debugger automatically:
> http localhost:5000 HTTP/1.0 500 Internal Server Error Date: Fri, 24 Jul 2015 23:41:20 GMT Server: WSGIServer/0.2 CPython/3.4.2 Content-Type: text/plain; charset=utf-8 OhOh-Debug-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1N [Truncated (5061 chars) ...] Location: http://localhost:5000/ohoh-debug/ Content-Length: 454 Traceback (most recent call last): File "c:\dev\ohoh\build\lib\ohoh\middleware.py", line 57, in __call__ return self._app(environ, start_response) File "tests\mock_app.py", line 6, in simple_err_app path.join("foo bar", 475564) File "C:\Python34\lib\ntpath.py", line 110, in join p_drive, p_path = splitdrive(p) File "C:\Python34\lib\ntpath.py", line 159, in splitdrive if len(p) > 1: TypeError: object of type 'int' has no len() OhOh Interactive Debugger v0.1.dev28+n8ec9121 (odb) up > c:\python34\lib\ntpath.py(110)join() -> p_drive, p_path = splitdrive(p) (odb)
Commands
The following commands are supported by the command interpreter (you can type help at the debugger prompt for online help with commands):
Command |
Description |
---|---|
Client commands |
|
quit |
Exit the debugger. |
token |
View the current debug server token. |
url |
View or set the url to which debug requests are sent. |
version |
View the version number of the debugger. |
Debug commands |
|
! |
Execute a one-line statement in the current context. |
args |
Print the argument list to the current function. |
p |
Print the value of an expression. |
pp |
Pretty print the value of an expression. |
where |
Print the stack trace, with the most recent call last. |
up |
Move up one frame in the stack. |
down |
Move down one frame in the stack. |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.