Share via


JIT Debugging Setup

Other versions of this page are also available for the following:

Windows Mobile SupportedWindows Embedded CE Supported

8/27/2008

To use JIT debugging, you must do the following:

  • Configure your platform to support KITL services in passive mode; then package the correct debugging libraries into the OS kernel.
  • Enable debugger support in the kernel.

Three files are necessary to enable JIT debugging:

  • kd.dll
  • osaxst0.dll
  • osaxst1.dll

If you include all of these files in the MODULES section, JIT debugging is enabled after a second-chance exception or a debug break occurs on the target device.

If these files are in the FILES section, JIT debugging does not start until you run Loaddbg.exe to load them dynamically.

When JIT debugging is not enabled, exceptions are not handled appropriately and unhandled second-chance exceptions cause the application to terminate.

To use the debugger for JIT debugging, allow Platform Builder to connect to the target device, because when the debugger activates, it requires a connection for the debug output.

To connect to a target device to receive debug output

  1. From the Target menu, choose Connectivity Options.

  2. Choose Core Service Settings.

  3. Verify that the Enable KITL on device boot check box is selected.

  4. Choose Apply.

By loading KdStub, you use the kernel debugger in Platform Builder for JIT debugging. As an alternative, you can use a device-side JIT debugger.

To use a device-side JIT debugger

  1. Include a JIT debugger, such as UsrExceptDmp.exe, in the MODULES section of the Project.bib file.

  2. In the HKEY_LOCAL_MACHINE\Debug registry key on the target device, register the JIT debugger by adding the name of the debugger to a JITDebugger registry entry.

  3. Reset the target device after you add this value to the registry.

    If you use a device-side JIT debugger, when there is a second-chance exception or a debug break, the target device does not connect the Platform Builder kernel debugger; instead it runs the JIT debugger included in the MODULES section.

See Also

Tasks

Enabling Active or Passive KITL

Other Resources

Run-Time Image Configuration Files