The Debugger API permits a new debugger to be inserted into the system, largely reusing the existing user interface, and permitting extra functionality to be exposed via nodes if needed. The API may also be used to control the system debugger, especially to add private variable watches to the debugged process that may be used to create a richer debugging environment.