Analyze DirectX Dump Files programmatically

You can use the PIX API to build custom tools that read DirectX Dump Files without the PIX UI. For example, you can sort incoming dump files by cause or extract the faulting shader from each one.

If you don't need a custom implementation, use DxDmp.exe, the command-line tool included with PIX. For reference information about the CLI, see DxDmp tools reference.

Open a dump file

To open a dump file, call IPixFactory::OpenDxDumpFileDocument with the path to the file. It returns an IPixDxDumpFileDocument, which gives you access to the same data that PIX shows in its views, including:

  • The device error code, error bucket, and summary.
  • The application, adapter, OS, and CPU information.
  • The dump file driver options that were in effect.
  • DRED data.
  • Queues and their events.
  • Page faults.
  • Resources and Direct3D 12 API objects.
  • Executing shader waves, shaders, and registers.
  • Application blobs.

The PIX API is available in C++, C#, and Python. For the full API reference, open docs\html\index.html in your PIX installation folder.

Sample

The DXDumpFileParser sample opens a dump file and prints the data it contains. It's available in C++, C#, and Python.

Screenshot of the DXDumpFileParser sample output showing dump file metadata, the error bucket, shaders in flight, and queue events.