diff --git a/README.md b/README.md index 7107811..98c64d5 100644 --- a/README.md +++ b/README.md @@ -17,12 +17,12 @@ The PDB format has not been officially documented, presenting a challenge for ot toolsets (such as Clang/LLVM) that want to work with Windows or the Visual Studio debugger. We want to help the Open Source compilers to get onto the Windows platform. -The majority of content on this repo is presented as actual source files from the VC++ compiler +The majority of content on this repository is presented as actual source files from the VC++ compiler toolset. Source code is the ultimate documentation :-) We hope that you will find it helpful. If you find that you need other information to successfully complete your project, please enter an [Issue](https://github.com/microsoft/microsoft-pdb/issues) letting us know what information you need. -##Start here +## Start here The file pdb.h (on in langapi), provides the API surface for mscorpdb.dll, which we ship with every compiler and toolset. Important points: @@ -36,7 +36,7 @@ A tool that I thought we also ship that would easily verify your “empty” PDB So in summary, by using the externally defined function entry points in pdb.h you can call into mscorpdb.dll. -##What is a PDB +## What is a PDB PDBs are files with multiple ‘streams’ of information in them. You can almost assume each stream as an individual file, except that storing them as individual files is wasteful and inconvenient, hence this multiple streams approach. PDB streams are not NTFS streams though. They can be implemented as NTFS streams, but since they are to be made available on Win9X as well, they use a home brewed implementation. The implementation allows a primitive form of two-phase commit protocol. The writers of PDB files write what ever they want to in PDBs, but it won’t be committed until an explicit commit is issued. This allows the clients quite a bit of flexibility - say for example, a compiler can keep on writing information, and just not commit it, if it encounters an error in users’ source code.