mstange / pdb-addr2line

A rust crate to symbolicate addresses from PDBs, like addr2line. Uses the `pdb` crate.
https://docs.rs/pdb-addr2line
Apache License 2.0
33 stars 4 forks source link

Public function symbols are missing #2

Closed mstange closed 3 years ago

mstange commented 3 years ago

Many PDBs have public symbols which do not have a corresponding procedure symbol. At the moment, these are completely discarded because only procedure symbols are respected.

Steps to reproduce:

$ curl -o dcomp.pdb -L "https://msdl.microsoft.com/download/symbols/dcomp.pdb/648B8DD0780A4E22FA7FA89B84633C231/dcomp.pdb"
$ cargo run --release --example pdb-addr2line -- --exe dcomp.pdb -f 0x13498

Expected results:

?RemoveGuardRect@CDxDevice@DirectComposition@@QEAAXPEAUID3D11Texture2D@@@Z
??:?

Actual results:

thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', examples/pdb-addr2line.rs:178:58
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace