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.