Windows Kernel Debugging 2 Windows Kernel Debugging Over a Network
Windows Kernel Debugging  / 

1 Overview of Windows Kernel Debugging in Simics

This guide explains how to setup Windows kernel debugger for use with the Windows OS on Simics-simulated Intel Architecture systems.

It is assumed that the reader has a reasonable understanding of Windows OS architecture, Windows debugging techniques and Windows kernel debugging techniques in particular. It is also assumed that the reader has familiarity with Windows command line tools, such as bcdedit.exe.

Simics supports connecting the Windows debugger client to the target kernel debugger over a network connection.

The Windows kernel debugging connection topology does not have to be run on a single computer. Simulation, serial connection proxy and Windows debugger client could be all running on separate computer systems. However this guide focuses on a topology hosted in a single computer system, which means that all components involved in the Windows kernel debugging session are running on the same physical host computer system. Furthermore, this host is assumed to be running Windows 7 or later.

Instructions on how to configure distributed Windows kernel debugging topologies are outside of scope of this guide.

Note: Windows kernel debugging in Simics is a rather challenging task. The Windows kernel debugger client - windbg.exe - runs on the host and uses real time, while the Windows kernel debugger (a Windows kernel component) runs inside the Simics simulation and uses the simulated clock. The two time bases can drift apart and create timing issues when the debugger client communicates with the kernel debugger.

Furthermore, various parameters of the simulation, such as, simulated processor speed, stepping rate, number of simulated logical cores, etc., are significant factors affecting the Windows kernel debugging session.

All of these circumstances can negatively influence the Windows kernel debugging experience and will require more knowledge and skill to use Windows kernel debugging successfully when compared to Windows kernel debugging on a physical system.

Windows Kernel Debugging 2 Windows Kernel Debugging Over a Network