diff --git a/examples/objdump.rs b/examples/objdump.rs
index dc9076cd..aaa128a0 100644
--- a/examples/objdump.rs
+++ b/examples/objdump.rs
@@ -111,6 +111,16 @@ fn dump_object(data: &[u8]) {
Ok(None) => {}
Err(e) => println!("Failed to parse GNU debug alt link: {}", e),
}
+ match file.pdb_info() {
+ Ok(Some(info)) => println!(
+ "PDB file: {}, GUID: {:x?}, Age: {}",
+ String::from_utf8_lossy(info.path()),
+ info.guid(),
+ info.age()
+ ),
+ Ok(None) => {}
+ Err(e) => println!("Failed to parse PE CodeView info: {}", e),
+ }
for segment in file.segments() {
println!("{:x?}", segment);
diff --git a/src/read/any.rs b/src/read/any.rs
index 6f0de4b7..d19649b8 100644
--- a/src/read/any.rs
+++ b/src/read/any.rs
@@ -13,8 +13,8 @@ use crate::read::pe;
#[cfg(feature = "wasm")]
use crate::read::wasm;
use crate::read::{
- self, Architecture, BinaryFormat, ComdatKind, CompressedData, CompressedFileRange, Error,
- Export, FileFlags, FileKind, Import, Object, ObjectComdat, ObjectMap, ObjectSection,
+ self, Architecture, BinaryFormat, CodeView, ComdatKind, CompressedData, CompressedFileRange,
+ Error, Export, FileFlags, FileKind, Import, Object, ObjectComdat, ObjectMap, ObjectSection,
ObjectSegment, ObjectSymbol, ObjectSymbolTable, ReadRef, Relocation, Result, SectionFlags,
SectionIndex, SectionKind, SymbolFlags, SymbolIndex, SymbolKind, SymbolMap, SymbolMapName,
SymbolScope, SymbolSection,
@@ -399,6 +399,11 @@ where
with_inner!(self.inner, FileInternal, |x| x.gnu_debugaltlink())
}
+ #[inline]
+ fn pdb_info(&self) -> Result