Load the PDB from the given path
Bases: DebugInfo
This class provides an interface for PDB files.
One can instantiate this class using lief.pdb.load()
or lief.pdb.DebugInfo.from_file()
The number of times the PDB file has been written.
Iterator over the CompilationUnit
from the PDB’s DBI stream. CompilationUnit are also named “Module” in the PDB’s official documentation
Try to find the PublicSymbol from the given name (based on the public symbol stream) The function returns None
if the symbol can’t be found.
debug_info: lief.pdb.DebugInfo = ...
if sym := debug_info.find_public_symbol("MiSyncSystemPdes"):
print("found")
Find the type with the given name
Unique identifier of the PDB file.
Return an iterator over the public symbol stream.
Return an iterator over the different types registered in this PDB file
Bases: object
This class represents a Compilation Unit (or Module) in a PDB file
Return an iterator over the function defined in this compilation unit. If the PDB does not contain or has an empty DBI stream, it returns an empty iterator.
Name (or path) to the COFF object (.obj
) associated with this compilation unit (e.g. e:\obj.amd64fre\minkernel\ntos\hvl\mp\objfre\amd64\hvlp.obj
)
Name of path to the original binary object (COFF, Archive) in which the compilation unit was located before being linked. e.g. e:\obj.amd64fre\minkernel\ntos\hvl\mp\objfre\amd64\hvl.lib
Iterator over the sources files that compose this compilation unit. These files include headers (.h, .hpp
, …).
Bases: object
This class provides general information (RVA, name) about a symbol from the PDB’s public symbol stream (or Public symbol hash stream)
Relative Virtual Address of this symbol.
This function returns 0 if the RVA can’t be computed.
Demangled representation of the symbol
Name of the symbol
Name of the section in which this symbol is defined (e.g. .text
). This function returns an empty string if the section’s name can’t be found
Bases: object
The Relative Virtual Address of the function
The size of the function
Original source code location.
Name of the function
The name of the section in which this function is defined
Bases: object
Bases: object
Discriminator for the type’s subclasses
Bases: object
This class represents an attribute (LF_MEMBER
) in an aggregate (class, struct, union, …)
Offset of this attribute in the aggregate
Name of this attribute.
Type of this attribute
Bases: Type
This class abstracts the following PDB types: LF_STRUCTURE
, LF_INTERFACE
, LF_CLASS
or LF_UNION
.
Return an iterator over the different attributes defined in this class-like type
Return an iterator over the different methods implemented in this class-like type
Demangled type name
Size of the the type including all its attributes. This size should match the sizeof(...)
this type.
Mangled type name.
Bases: Type
This class represents a LF_MODIFIER
PDB type
Underlying type targeted by this modifier
Bases: Type
This class represents a LF_POINTER
PDB type
The underlying type pointed by this pointer