Gemini Lite: A Non-intrusive Debugger for Windows NT

01 January 2000

New Image

It is frequently useful to debug a running software system with a symbolic debugger without interfering with the operation of the system. The use of such a debugger may want to inspect data, or may want to trigger some data collecting operations whenever the running program hits an arbitrary address. Terminating or initiating the debugging session must also be transparent to users of the system. Windows NT debuggers are designed to be used in a software development environment, not a production environment. Existing debuggers as well as the API used ot write debuggers cannot detach from a running process without killing it, so they are unsuitable for debugging live systems. This paper presents the design of Gemini Lite, a debugger written without the Win32 debugger API, which as the capabilities needed to debug running production systems.