In a method and system for debugging a program, a debugging module is
loaded into a normal thread of execution of the program. A user may then
send commands to the debugger module from a command console module
operating in a safe separate process. The debugger module receives the
commands and converts them into function calls to objects that are
accessible by the program. This allows the user to interact manually with
the objects and achieve substantially the same responses from the object
as the program itself would have obtained during its normal execution.
Thus the user can effectively debug the program without having to know
the internal structure of any of its constituent objects.