legolas 0.1.0

A Microsoft Program Database (PDB) parser
Documentation
# Legolas


![](https://img.shields.io/crates/d/legolas.png)](https://crates.io/crates/legolas) [![](https://docs.rs/legolas/badge.svg)](https://docs.rs/legolas/) [![Build Status](https://travis-ci.org/Jake-Shadle/legolas.png?branch=master)](https://travis-ci.org/Jake-Shadle/legolas)

This library will hopefully eventually become a companion to 
[Gimli](https://github.com/gimli-rs/gimli), the zero-copy DWARF parser, but 
instead providing access to Microsoft's Program Database (PDB) debugging format.

The goals of the library are basically the same as Gimli's.

* **Zero copy:** Use the original memory of the input (when possible, it isn't 
always the case due to the PDB format, but I digress). This is in stark contrast
 to the only "blessed" interface for reading PDB files, the 
[DIA SDK]https://msdn.microsoft.com/en-us/library/x93ctkx8.aspx, which at a 
minimum will allocate a _wide character_ string for every string in the PDB 
(function names, type names, etc), even though, at its current version, the 
string data is only ever stored as plain ASCII (AFAICT).
* **Lazy:** Simply put, don't do work until we need to
* **Cross-platform:** There is no reason you should not be able to read and 
inspect PDB files on a platform other than Windows, other than that the DIA SDK 
is a COM library.

## License


Licensed under either of

  * Apache License, Version 2.0 ([`LICENSE-APACHE`]./LICENSE-APACHE or 
http://www.apache.org/licenses/LICENSE-2.0)
  * MIT license ([`LICENSE-MIT`]./LICENSE-MIT or 
http://opensource.org/licenses/MIT)

at your option.

## Contribution


Unless you explicitly state otherwise, any contribution intentionally submitted 
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
 dual licensed as above, without any additional terms or conditions.