In kernel-mode debugging, it is possible to read and write data to a variety of data spaces in addition to the main memory and registers. The following data spaces can be accessed:
In user-mode debugging, information about system objects can be obtained using system handles owned by a target process. The method ReadHandleData can be used to read this information.
System handles for thread and process system objects can be obtained by using the GetCurrentThreadHandle and GetCurrentProcessHandle methods. These handles are also provided to the IDebugEventCallbacks::CreateThread and IDebugEventCallbacks::CreateProcess callback methods when create-thread and create-process debugging event occur.
Note In kernel mode, the process and thread handles are artificial handles. They are not system handles.