pub struct CodeView {
pub name: String,
pub guid: String,
pub age: u32,
}Expand description
Identifies the PDB matching a specific PE binary.
Parsed from the CodeView entry in the PE’s debug directory.
Fields§
§name: StringThe PDB path as recorded by the linker.
Can be a full build path or just a filename.
guid: StringPDB signature GUID.
age: u32PDB age counter.
Implementations§
Source§impl CodeView
impl CodeView
Sourcepub fn from_pe<Pe>(pe: &PeFile<'_, Pe>) -> Result<Self, DownloaderError>where
Pe: ImageNtHeaders,
pub fn from_pe<Pe>(pe: &PeFile<'_, Pe>) -> Result<Self, DownloaderError>where
Pe: ImageNtHeaders,
Extracts CodeView info from a parsed PE file. Returns
DownloaderError::MissingCodeView if the PE has no debug directory.
Sourcepub fn from_path(path: impl AsRef<Path>) -> Result<Self, DownloaderError>
pub fn from_path(path: impl AsRef<Path>) -> Result<Self, DownloaderError>
Reads the PE file at path and extracts its CodeView info.
Sourcepub fn hash(&self) -> String
pub fn hash(&self) -> String
Returns the symbol-server lookup key <guid><age> used as the path
segment between the PDB name and the downloaded file.
Sourcepub fn subdirectory(&self) -> PathBuf
pub fn subdirectory(&self) -> PathBuf
Returns the relative output directory for this PDB:
<filename>/<hash>.
Trait Implementations§
Source§impl From<CodeView> for SymbolRequest
impl From<CodeView> for SymbolRequest
Source§impl Ord for CodeView
impl Ord for CodeView
Source§impl PartialOrd for CodeView
impl PartialOrd for CodeView
impl Eq for CodeView
impl StructuralPartialEq for CodeView
Auto Trait Implementations§
impl Freeze for CodeView
impl RefUnwindSafe for CodeView
impl Send for CodeView
impl Sync for CodeView
impl Unpin for CodeView
impl UnsafeUnpin for CodeView
impl UnwindSafe for CodeView
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.