开发者

Is it possible to debug CherryPy applications?

I've seen this question posted here before but I want to get a final yes/no on this.

I've been trying to debug my app using Netbeans 6.8 (no luck at all) and the newly released Netbeans 6.9 (notices that 开发者_高级运维code has been called but fails to stop the code from executing).

Is it possible to debug CherryPy applications?


I use breakpoints in cherrypy all the time in Wing IDE (3.x). I should mentions that I don't debug when the application is hosted through a webserver. I run the application using cherrypy's build in webserver, using my CPython interpreter installed on the machine.

The code looks something like this:

# main.py

# ...snip...

if __name__ == '__main__':

    # Handle configuration settings, calling cherrypy.tree.mount in the process
    generate_app(options.environment)

    # Run the web server
    engine = cherrypy.engine
    try:
        engine.start()
    except:
        sys.exit(1)
    else:
        engine.block()

Then, in Wing IDE, I put a break point somewhere (say in one of my controllers) and then run main.py through the IDE. Pointing a browser at the url of the controller will cause the breakpoint to trigger.

Hope that information was helpful.


I use wdb. It uses websockets, looks great and can be hooked in any WSGI app (like CherryPy). It opens a new debugging tab in your browser when triggered.

Follow these instructions to configure your CherryPy app, and in your code write a line like the next and restart the app:

import wdb;wdb.set_trace()

Also any exceptions in the app (not all in CherryPy, though) should be catched.


There's debugging (stepping through code) and then there's debugging (playing with a live system). You can do the latter easily by mounting an http://www.aminus.net/wiki/HTTPREPL in your app.


In Spyder I've managed to use pdb in a CherryPy application by writing breakpoint() just before the line I want to inspect.

This breaks into the Spyder debugger, exposing all the regular step in/out functionality.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜