DosDebug maintains a list of system semaphores which it checks before sending any debug notifications to the debugger. DosDebug allows one process (the debugger) to control the execution of another process that is being debugged (the debuggee).

A process must be selected for debugging when it is started. See DosExecPgm or DosStartSession for how this is done. Once a process has been selected for debugging, you must use DosDebug to control and examine its execution.

If no error is returned, a notification resides in the DosDebug Buffer structure. The Cmd field of the DosDebug Buffer structure determines which notification is set. The data returned with the notification varies, depending on the command passed in the Cmd field of the DosDebug Buffer structure.

If the return code is set to ERROR_INTERRUPT, a debug notification might have been lost, depending on the command that was interrupted.

DosDebug can also return with a return value set by another function.

DosDebug allows you to view and modify EXE and DLL code and data objects (those objects defined in the EXE header and loaded by the OS/2 program loader).

In addition to the EXE and DLL code and data objects, DosDebug allows you to view objects allocated dynamically using DosAllocMem. Code or data objects created by other methods may not be accessible.

For details about the commands that are available with DosDebug, see DosDebug Commands.

For details about the notifications that are available with DosDebug, see DosDebug Notifications.


[Back] [Next]