What you’ve observed is all expected. The Python interpreter creates the modeless form and then ends, leaving what’s behind for Rhino to maintain. Thus, exceptions are not caught by the Python interpreter (as it’s long gone). And the same holds true to getting break points on event handlers. The best you can do in this case is to add some print statements, or to keep your form modal until you’ve fully debugged it.