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: Intel® Debug Extensions for WinDbg* for Intel® Processor Trace User and Reference Guide
Using the Intel® Debug Extensions for WinDbg* for IA JTAG debugging (IA JTAG)
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 visit our Get Help page at http://software.intel.com/en-us/support for support options.
- 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.
- 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_<version>\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_<version>\Config\OpenIPCConfig.xml should be changed to use BXTP_Default_TCI.xml in the tag).
- Connect the host and the target with a probe (Intel® In-Target Probe (Intel® ITP) or Intel® Direct Connect Interface (Intel® DCI)).
- Power on the probe and the target.
- Run the windbg_iajtag_console.bat file and choose the Intel® DAL and target system architecture.
- 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).
NoteIf 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.
- 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().
Intel Debug Extensions for WinDbg provides a way to collect general information about a Stop error (also known as the bugcheck error and the Blue Screen of Death). This capability can be useful for cases when you cannot obtain a functional full memory dump or you do not require a high level of detail.
To collect information about a Stop error, connect to your target and run the following command in the Intel Debug Extensions for WinDbg command prompt:
where <filename> is the path to the output text file.
Depending on the type of the Stop error, the output text file may contain a combination of the following information:
- List of loaded modules with offsets and symbols information
- Call stacks of all threads
- Output of the !analyze -v -f WinDbg command.
You can use ACPI tracing to troubleshoot low-level platform issues.
Follow the steps below to receive ACPI trace messages. Note that you should run all commands in the Intel Debug Extensions for WinDbg command prompt.
- Connect to your target
- Set a post-reset breakpoint by running the following command:
- Reset your target by running the following command:
- Remove the reset breakpoint with the following command:
- Enable ACPI trace messages:
The Intel Debug Extensions for WinDbg command prompt prints ACPI trace messages. To cancel tracing, press Ctrl + C.
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||
|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:
|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>\ system_debugger_<version>\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.
NoteConsider 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
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
|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
|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* Release Notes||Contains the most up-to-date information about the Intel® Debug Extensions for WinDbg*, including:
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.
Copyright 2016-2019 Intel Corporation.
This software and the related documents are Intel copyrighted materials, and your use of them is governed by the express license under which they were provided to you (License). Unless the License provides otherwise, you may not use, modify, copy, publish, distribute, disclose or transmit this software or the related documents without Intel's prior written permission.
This software and the related documents are provided as is, with no express or implied warranties, other than those that are expressly stated in the License.