Yeah, and the cool thing about being able to write your own debugger, you can have domain specific debuggers or debuggers that put the application in the debug state and phone home giving the eng a chance to capture the error and handle it.
Lua has a similarly powerful debug hook mechanism. Being able to debug the system from within itself is an amazingly powerful feature.