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<CodeView, DownloaderError>where
Pe: ImageNtHeaders,
pub fn from_pe<Pe>(pe: &PeFile<'_, Pe>) -> Result<CodeView, 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<CodeView, DownloaderError>
pub fn from_path(path: impl AsRef<Path>) -> Result<CodeView, 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§fn from(value: CodeView) -> SymbolRequest
fn from(value: CodeView) -> SymbolRequest
Converts to this type from the input type.
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> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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.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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.