pdb
pdb copied to clipboard
A parser for Microsoft PDB (Program Database) debugging information
Hi, I work on a toy Windows linker written in Rust. I would like to use this crate for creation of PDBs (I am aware that writing PDBs is not...
[Visual Studio 2017 added a `/DEBUG:FASTLINK` option:](https://docs.microsoft.com/en-us/cpp/build/reference/debug-generate-debug-info?view=msvc-170): > The /DEBUG:FASTLINK option is available in Visual Studio 2017 and later. This option leaves private symbol information in the individual compilation products...
Hi I'm trying to get all the functions in a pdb file, their lengths, and their unmangled names (I believe the term used in pdbs might be "unique names") for...
I'm currently working on a naive pdb-to-cpp decompiler, and there's a number of things that I've run into, but [this one in particular](https://github.com/camden-smallwood/pdb-decompiler/issues/8) doesn't appear to have been addressed in...
I keep running into this when hacking on this crate. I think the root of the problem is that [`SourceView::as_slice`](https://github.com/willglynn/pdb/blob/8f058d0c3638bf322e8c39fb6db35c17386bf2a4/src/source.rs#L57) returns a slice whose lifetime matches the lifetime of the...
Currently there doesn't seem to be a way to determine whether a `MemberType` is directly part of the type it corresponds to or is part of an anonymous struct/union. If...
Took me a bit to figure this out, so this might be useful for others. Please consider mentioning something like this in the docstring of the [`find`](https://docs.rs/pdb/0.6.0/src/pdb/tpi/mod.rs.html#439-477) method of the...
Is it possible to modify parts of a PDB or rewrite it entirely with this? Browsing through the docs, it looks like it only reads PDBs. The reason I ask...
LLVM recently added PDB output support, and [some of their tests](https://github.com/llvm-mirror/llvm/tree/57f9d8ea2f0641a9da605d60e0653e1081e87d2a/test/DebugInfo/PDB) seem like they would be useful to port. - [ ] [`every-type.test`](https://github.com/llvm-mirror/llvm/blob/57f9d8ea2f0641a9da605d60e0653e1081e87d2a/test/DebugInfo/PDB/every-type.test) / [`yaml`](https://github.com/llvm-mirror/llvm/blob/57f9d8ea2f0641a9da605d60e0653e1081e87d2a/test/DebugInfo/PDB/Inputs/every-type.yaml) / [`cpp`](https://github.com/llvm-mirror/llvm/blob/57f9d8ea2f0641a9da605d60e0653e1081e87d2a/test/DebugInfo/PDB/Inputs/every-type.cpp) / [`pdb`](https://github.com/llvm-mirror/llvm/blob/57f9d8ea2f0641a9da605d60e0653e1081e87d2a/test/DebugInfo/PDB/Inputs/every-type.pdb) -...
I wrote a crate called [test-assembler](https://crates.io/crates/test-assembler) a while ago, ported from some C++ code a coworker wrote for the Breakpad project. It's got a fairly nice API for spelling out...