There are the following debugging services:
| Service | Description |
| Clear_Mono_Screen | Clears the secondary display. |
| Debug_Convert_Hex_Binary | Converts hexadecimal to binary. |
| Debug_Convert_Hex_Decimal | Converts a number to decimal. |
| Debug_Test_Cur_VM | Checks for the current virtual machine. |
| Debug_Test_Valid_Handle | Checks for the valid handle. |
| Disable_Touch_1st_Meg | Disables the first megabyte of memory. |
| Enable_Touch_1st_Meg | Enables the first megabyte of memory. |
| Get_Debug_Options | Checks for command-line debugging options. |
| Get_Mono_Chr | Gets the character/attribute from the secondary display. |
| Get_Mono_Cur_Pos | Gets the cursor position from the secondary display. |
| In_Debug_Chr | Reads the debugging character. |
| Is_Debug_Chr | Checks for the debugging character. |
| Log_Proc_Call | Logs the caller of the current service. |
| Out_Debug_Chr | Writes the debugging character. |
| Out_Debug_String | Writes a string to the debugging device. |
| Out_Mono_Chr | Writes to the secondary display. |
| Out_Mono_String | Writes a string to the secondary display. |
| Queue_Debug_String | Queues a debugging string. |
| Set_Mono_Cur_Pos | Sets the cursor position for the secondary display. |
| Test_Reenter | Test whether the VMM has been re-entered. |
| Validate_Client_Ptr | Validates the client register pointer. |