views:

116

answers:

2

Hey All,

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?

+3  A: 

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.

Eric Palakovich Carr
Wing looks a bit pricey for me; I'd like to stick to Netbeans but it's good to know that this is possible - I guess the Netbeans python plugin just needs to mature a bit first to catch up with Wing
OrganicPanda
+2  A: 

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.

fumanchu
I was looking for the former option but that's a very interesting link either way, thanks
OrganicPanda