fn get_pdb_object_info()

in src/dumper.rs [116:139]


fn get_pdb_object_info(
    buf: &[u8],
    path: &Path,
    filename: &str,
    mapping: Option<Arc<PathMappings>>,
    collect_inlines: bool,
) -> common::Result<ObjectInfo> {
    let pdb = PdbObject::parse(buf)?;

    let (pe_name, pe_buf) = match windows::utils::find_pe_for_pdb(path, &pdb.debug_id()) {
        Some((pe_name, pe_buf)) => (Some(pe_name), Some(pe_buf)),
        None => (None, None),
    };
    let pe = pe_buf.as_deref().map(|buf| PeObject::parse(buf).unwrap());

    ObjectInfo::from_pdb(
        pdb,
        filename,
        pe_name.as_deref(),
        pe,
        mapping,
        collect_inlines,
    )
}