imageThe EDKII Build Data Viewer is a handy (free) tool from Intel that analyzes UEFI BIOS build logs and provides the user with information about what exactly got built.  This is useful for troubleshooting not just build issues, but a variety of BIOS issues.

From the documentation:

The EDK II Build Data Viewer tool provides a view of what files, GUIDs, and PCDs were used in a build. It parses the build log file to determine source code and INF files used in the build and the workspace directory. Additional build information can be created by using the –Y and –y switches to generate a build report.

I played around with version 1.0.2.1 of the application.

 

Steps to Download and Build

To start, download the source and build the application:

  1. Use git to clone: https://github.com/01org/edkiibuilddataviewer
  2. Open EdkIIBuildDataViewer.sln with Visual Studio 2010
  3. Rebuild solution, Release/Win32 configuration

This worked for me the first time!  (that never happens!)  If you’d rather just download the application binary without going through the process of building it, I put it here:

https://github.com/WilliamLeara/BasicInputOutput/blob/master/EDKIIBuildDataViewer/EdkIIBuildDataViewer.exe

 

Running Some Tests

The first step is to supply the tool a build log file and a build report file.  When I tried this tool with some production source trees available to me, I could not get a build log file that was recognized as valid.  I got:

image

Your mileage may vary.  However, I did successfully load the log files from a build I ran of the NT32 build target from the EDKII:

image

Here are the build log and build report that I fed the EDKII Build Data Viewer (this program needs a shorter name!):

build.log

report.log

There are two exciting parts of the application:

  1. pressing Ctrl+T cycles through viewing the various build data types
  2. the “Search” box allows you to find names or GUIDs of interest

To give you some idea of the analysis:

image

image

image

image

I encourage you to download the program and my log files and play around yourself—much better than me trying to explain all the nuances.  This is a tool only a programmer could love—there is a lot of good information and it is extremely dense; I cannot do justice to it with screenshots.  Again, please try it for yourself—just use the links above to download the tool and the two log files.

 

Documentation

A note on the tool’s documentation.  First, YES, there is documentation!  Plus, it’s actually accurate, and you can tell they put a lot of time into it.  Kudos for the screenshots in the documentation!  The documentation is named EDK II Build Data Viewer.docx and it comes with the source when you check it out.

 

Verdict

The EDKII Build Data Viewer is beautifully designed.  The documentation is top notch.  It provides a wealth of information in one place that would be time-consuming to discover independently.  Unfortunately I was not able to get it to run on the production BIOS source trees I have available to me, but hopefully you have better luck.

Post a Comment

  1. Very cool!! playing now..
    The Author must be very familiar with EDK2 build process.

    ReplyDelete
    Replies
    1. Yes I am very familiar with the EDK II build process and the specs for the build files (DSC, FDF, INF, etc).

      https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Specifications

      Delete
  2. Any chance of a mac client

    ReplyDelete
    Replies
    1. I would like to rewrite the app in a cross platform GUI so this is possible. We can all work together to make this happen because I would have to research and learn one before I can write the equivalent GUI code. I knew MFC from many years ago so it was quicker for me to use it when I initially wrote the app.

      Delete

Be sure to select an account profile (e.g. Google, OpenID, etc.) before typing your comment!