BT

Microsoft Open Sources PDB

by Jonathan Allen on Feb 12, 2016 |

PDB or Program DataBase is a central component of the Windows ecosystem. Without a PDB file, even basic tasks such as stepping through code becomes impossible. And yet, the PDB format is largely a black box. At least until now.

Over the last few years, Microsoft has released public APIs that allow developers to query the PDB files directly. Jim Hogg of Microsoft cites three articles in particular to start with:

While certainly useful, they aren’t enough for those writing compilers and linkers such as the CLANG/LLVM community. They need to know how to create new PDB files, which requires a deeper understanding of the file format.

To address this situation, Microsoft has released much of the code needed to read and write PDB files under the MIT license. This code cannot be directly compiled, as it lacks the necessary build files. The intention is that developers will read, and possibly reuse, just parts of the code that they need. If you instead want a turn-key solution, Microsoft recommends continuing to use the published APIs.

Jim Hogg writes,

The PDB format is complicated. We’re not sure whether the files uploaded so far provide all the details you might need. If you have brief questions, please post them as comments to this blog. But for issues (eg: I need to view the header that defines the XXX struct), please file them directly on the GitHub project so we can track and respond.

Rate this Article

Relevance
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Typo in the article. by Venkata Yerrapothu

"code needed to read and write PDF files" should be correct as "code needed to read and write PDB files".

Re: Typo in the article. by Jonathan Allen

Ugh, thanks.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

2 Discuss
General Feedback
Bugs
Advertising
Editorial
Marketing
InfoQ.com and all content copyright © 2006-2016 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT