The following table list describes the available commands.
┌─────┬────────────────────┬───────────────────────────────────┐ │Cmd │Command Name │Description │ │No. │ │ │ ├─────┼────────────────────┼───────────────────────────────────┤ │0 │DBG_C_Null │Null │ ├─────┼────────────────────┼───────────────────────────────────┤ │1 │DBG_C_ReadMem │Read Word │ ├─────┼────────────────────┼───────────────────────────────────┤ │1 │DBG_C_ReadMem_I │Read Word │ ├─────┼────────────────────┼───────────────────────────────────┤ │2 │DBG_C_ReadMem_D │Read Word (same as 1) │ ├─────┼────────────────────┼───────────────────────────────────┤ │3 │DBG_C_ReadReg │Read Register Set │ ├─────┼────────────────────┼───────────────────────────────────┤ │4 │DBG_C_WriteMem │Write Word │ ├─────┼────────────────────┼───────────────────────────────────┤ │4 │DBG_C_WriteMem_I │Write Word │ ├─────┼────────────────────┼───────────────────────────────────┤ │5 │DBG_C_WriteMem_D │Write Word (same as 4) │ ├─────┼────────────────────┼───────────────────────────────────┤ │6 │DBG_C_WriteReg │Write Register Set │ ├─────┼────────────────────┼───────────────────────────────────┤ │7 │DBG_C_Go │Go │ ├─────┼────────────────────┼───────────────────────────────────┤ │8 │DBG_C_Term │Terminate │ ├─────┼────────────────────┼───────────────────────────────────┤ │9 │DBG_C_SStep │Single Step │ ├─────┼────────────────────┼───────────────────────────────────┤ │10 │DBG_C_Stop │Stop │ ├─────┼────────────────────┼───────────────────────────────────┤ │11 │DBG_C_Freeze │Freeze Thread │ ├─────┼────────────────────┼───────────────────────────────────┤ │12 │DBG_C_Resume │Resume Thread │ ├─────┼────────────────────┼───────────────────────────────────┤ │13 │DBG_C_NumToAddr │Object Number to Address │ ├─────┼────────────────────┼───────────────────────────────────┤ │14 │DBG_C_ReadCoRegs │Read Coprocessor Registers │ ├─────┼────────────────────┼───────────────────────────────────┤ │15 │DBG_C_WriteCoRegs │Write Coprocessor Registers │ ├─────┼────────────────────┼───────────────────────────────────┤ │16 │Reserved │Reserved │ ├─────┼────────────────────┼───────────────────────────────────┤ │17 │DBG_C_ThrdStat │Get Thread Status │ ├─────┼────────────────────┼───────────────────────────────────┤ │18 │DBG_C_MapROAlias │Map Read-Only Alias │ ├─────┼────────────────────┼───────────────────────────────────┤ │19 │DBG_C_MapRWAlias │Map Read-Write Alias │ ├─────┼────────────────────┼───────────────────────────────────┤ │20 │DBG_C_UnMapAlias │Unmap Alias │ ├─────┼────────────────────┼───────────────────────────────────┤ │21 │DBG_C_Connect │Connect to Debuggee │ ├─────┼────────────────────┼───────────────────────────────────┤ │22 │DBG_C_ReadMemBuf │Read Memory Buffer │ ├─────┼────────────────────┼───────────────────────────────────┤ │23 │DBG_C_WriteMemBuf │Write Memory Buffer │ ├─────┼────────────────────┼───────────────────────────────────┤ │24 │DBG_C_SetWatch │Set Watchpoint │ ├─────┼────────────────────┼───────────────────────────────────┤ │25 │DBG_C_ClearWatch │Clear Watchpoint │ ├─────┼────────────────────┼───────────────────────────────────┤ │26 │DBG_C_RangeStep │Range Step │ ├─────┼────────────────────┼───────────────────────────────────┤ │27 │DBG_C_Continue │Continue After an Execution │ ├─────┼────────────────────┼───────────────────────────────────┤ │28 │DBG_C_AddrToObject │Address to an Object │ ├─────┼────────────────────┼───────────────────────────────────┤ │29 │DBG_C_XchngOpcode │Exchange Opcode and Go │ ├─────┼────────────────────┼───────────────────────────────────┤ │30 │DBG_C_LinToSel │Translate Linear Address to │ │ │ │Segment:Offset │ ├─────┼────────────────────┼───────────────────────────────────┤ │31 │DBG_C_SelToLin │Translate Segment:Offset to Linear │ │ │ │Address │ └─────┴────────────────────┴───────────────────────────────────┘
Not all fields must be defined for every DosDebug command. The same field can have a different meaning in different DosDebug commands. Fields in the DosDebug Buffer structure that are not listed in the Parameter section of each command is not useful for that command.
Error cases for commands are not listed. The listed return values from commands are valid only if the DBG_N_Success notification is given.