There are several options available for performing kernel-mode debugging:
- The debugger client is running on the target machine: An example of such a setup is WinDbg or the KD debugger, utilizing local kernel debugging or working together with the LiveKd tool. This approach doesn't require an engineer to set up a remote connection, but if something goes wrong and the system crashes, it may take some time to restore tools to their previous state.
- The debugger client is running on the host machine: Here, the virtual or another physical machine is used to execute a sample, and all debugging tools with the result knowledge base are stored outside of it. This approach may take slightly more time to set up, but it is generally recommended as it will save lots of time and effort later.
- The debugger client is running on the remote machine: This setup is not commonly used; the idea here is that the host machine is running a debugging server that can interact...