Getting Started with the Intel® Debug Extensions for WinDbg* 2018

Intel® Debug Extensions for WinDbg* comprise the following features:

  • Intel® Debug Extensions for WinDbg* for IA JTAG debugging

    Intel® Debug Extensions for WinDbg* for IA JTAG debugging (IA JTAG) enable the connection of WinDbg* to a target over the Joint Test Action Group (JTAG) interface. The server acts as a mediator and forwards the calls from WindDbg* to the IPC interface and back.

  • Intel® Debug Extensions for WinDbg* for Intel® Processor Trace

    Intel® Debug Extensions for WinDbg* for Intel® Processor Trace (Intel® PT) are designed to help WinDbg* users by extending their debugging tool set with execution tracing. The extension allows for easy setup of Intel® PT by abstracting hardware configuration and then reconstructing and displaying execution flow from the collected trace data. It integrates with other WinDbg* features, such as symbolization and high-level source display. For more information on how to use this feature, see:

Using the Intel® Debug Extensions for WinDbg* for IA JTAG debugging (IA JTAG)

Prerequisites

For a list of system requirements matching your configuration, see the Intel® Debug Extensions for WinDbg* Release Notes.

In case you need assistance installing or running this product, please file a support request at our Online Service Center (http://www.intel.com/supporttickets).

Starting the Intel® Debug Extensions for WinDbg* for IA JTAG debugging

  1. WinDbg* must have access to kernel symbols for the connection to succeed; therefore, you must set the symbol file path beforehand. Launch WinDbg* without using the batch script and set the symbol file path by selecting File > Symbol File Path… and adding srv*C:\Symbols*http://msdl.microsoft.com/download/symbols to the path or by setting the _NT_symbol_path global environment variable with a corresponding value. Save the workspace by selecting File > Save Workspace and close WinDbg*. You need to do this only once before the first use.
  2. Configure one of the Intel® DFx Abstraction Layers (Intel® DAL) or OpenIPC:
    • Select the Intel® DAL configuration via the config console (at C:\Intel\DAL\ConfigConsole.exe)

      You need to perform this step only when connecting to a target for the first time or changing the target hardware.

    • Manually modify the OpenIPC.xml configuration file (for example, C:\Intel\OpenIPC\Config\OpenIPCConfig.xml should be changed to use BXTP_Default_TCI.xml in the tag).
  3. Connect the host and the target with a probe (Intel® In-Target Probe (Intel® ITP) or Intel® Direct Connect Interface (Intel® DCI)).
  4. Power on the probe and the target.
  5. Run the iajtag_console.bat file and choose the Intel® DAL and target system architecture.
  6. At this point, two Python* objects are available for debugging:
    • itp - Intel® ITP interface
    • itpkd - wrapper over WinDbg* and kernel debug console

    Halt the target any time after the Windows* screen using itp.halt() and execute wdbg = itpkd.WindbgShell(); wdbg.run() to run a WinDbg* session.

    After executing the command in the Python* shell, WinDbg* starts connecting to the target. This can take several minutes.

    Do not enter any commands until the connection is fully established and the connection confirmation message is displayed (Target initialization succeeded).

    Note

    If the connection fails, you see an exception in the console. Check the network connection if KDVersionBlock is not found. Run the target for a while if the kernel is not found.
  7. If Windows* is not loaded and the user wants to use WinDbg* for UEFI debug, several initialization steps should be skipped by specifying the windows_is_loaded flag, that is wdbg = itpkd.WindbgShell(windows_is_loaded=False); wdbg.run().

Troubleshooting

If the connection to the target via the IA JTAG fails, WinDbg* issues the 'Server execution failed' message.

Possible issues and solutions are:

Error Possible Root Causes Solution
ERROR: Could not start kernel debugging using exdi: Unspecified error
  • The target is not connected or has no power.
  • The dllhost.exe and/or MasterFrame.HostApplication.exe processes are running.
  • Incorrect target configuration settings are used.
  • Check that the dllhost.exe and MasterFrame.HostApplication.exe processes are not running. Terminate both processes and try again.
  • Make sure that you applied correct target configuration settings using the Intel® DAL config console (for example, at C:\Intel\DAL\ConfigConsole.exe.)
ERROR: Could not start kernel debugging using exdi: Class not registered The ExdiIPC.dll file was not registered correctly.

Register the .dll file as follows:

  1. Go to the <install-dir>\windbg-ext\iajtagserver\intel64 directory. By default, <install-dir> is as follows: "C:\Program Files (x86)\IntelSWTools\".
  2. Run the regsvr32 ExdiIPC.dll command.

ERROR: Could not start kernel debugging using exdi: Specified module could not be found The ExdiIPC.dll file was removed after the registration. Reinstall the add-on and make sure that it is available at <install-dir>\windbg-ext\iajtagserver\intel64\ExdiIPC.dll.

ERROR: Could not start kernel debugging using exdi: Win32 error 0x87

The parameter is incorrect

The dllhost.exe process froze after an abnormal termination of a debug session.

Kill the dllhost.exe process that has its Window Title set to IntelExdiServer.

Note

Consider using Sysinternals* Process Explorer software to view the Window Title of running processes.

The Intel Debugger Extensions for WinDbg* eXDI COM server was not registered with Windows* OS due to a faulty installation.

Register the eXDI COM server by running

regsvr32 "<install-dir>\system_debugger_<version>\windbg-ext\iajtagserver\intel64\ExdiIpc.dll".

The log file contains:

ERROR: No probe found. Please check probe connection and power.

Connection between the host and the probe is not correctly established. The probe is powered off or out of order. Check the host connection to the probe and the probe power. Also, check if the probe drivers are correctly installed and working.

The log file contains:

ERROR: No active threads detected

  • Connection between the target and the probe is not correctly established.
  • The probe is powered off or out of order.
  • Check the target connection to the probe and the target power.
  • Reset the target if locked.
WinDbg* is frozen and will not exit. WinDbg* is scanning memory to establish the connection. This can take several minutes. If the WinDbg* break was issued at the wrong time, the scanning process takes about 10 minutes. Wait until the scanning is done.

Training and Documentation

Document Description
Intel® System Studio Intel® System Studio product page. See this page for support and online documentation.
Intel® Debug Extensions for WinDbg* for Intel® Processor Trace User and Reference Guide Provides information about requirements and constraints and the commands of the Intel® Debug Extensions for WinDbg* for Intel® Processor Trace.
Intel® Debug Extensions for WinDbg* for Intel® Processor Trace User and Reference Guide (in PDF format) Downloadable PDF version of the Intel® Debug Extensions for WinDbg* for Intel® Processor Trace User and Reference Guide.
Intel® Debug Extensions for WinDbg* Release Notes Contains the most up-to-date information about the Intel® Debug Extensions for WinDbg*, including:
  • Overview information (including new features and product contents)
  • System requirements (hardware and software requirements for installing and using the product)
  • Known limitations
  • Technical support (links to contacts for reporting problems and getting assistance)

Legal Information

No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document. Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade. This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps. The products and services described may contain defects or errors known as errata which may cause deviations from published specifications. Current characterized errata are available on request.

Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others.

© Intel Corporation

有关编译器优化的更完整信息,请参阅优化通知