Loading...
Searching...
No Matches
DebugInfo

Detailed Description

Classes

struct  BinaryNinja::DebugFunctionInfo
class  BinaryNinja::DebugInfo
class  BinaryNinja::DebugInfoParser
class  BinaryNinja::CustomDebugInfoParser

Class Documentation

◆ BinaryNinja::DebugFunctionInfo

struct BinaryNinja::DebugFunctionInfo

Public Member Functions

 DebugFunctionInfo (std::string shortName, std::string fullName, std::string rawName, uint64_t address, Ref< Type > type, Ref< Platform > platform, const std::vector< std::string > &components, const std::vector< VariableNameAndType > &localVariables)

Public Attributes

std::string shortName
std::string fullName
std::string rawName
uint64_t address
Ref< Typetype
Ref< Platformplatform
std::vector< std::string > components
std::vector< VariableNameAndTypelocalVariables

Constructor & Destructor Documentation

◆ DebugFunctionInfo()

BinaryNinja::DebugFunctionInfo::DebugFunctionInfo ( std::string shortName,
std::string fullName,
std::string rawName,
uint64_t address,
Ref< Type > type,
Ref< Platform > platform,
const std::vector< std::string > & components,
const std::vector< VariableNameAndType > & localVariables )
inline

Member Data Documentation

◆ shortName

std::string BinaryNinja::DebugFunctionInfo::shortName

◆ fullName

std::string BinaryNinja::DebugFunctionInfo::fullName

◆ rawName

std::string BinaryNinja::DebugFunctionInfo::rawName

◆ address

uint64_t BinaryNinja::DebugFunctionInfo::address

◆ type

Ref<Type> BinaryNinja::DebugFunctionInfo::type

◆ platform

Ref<Platform> BinaryNinja::DebugFunctionInfo::platform

◆ components

std::vector<std::string> BinaryNinja::DebugFunctionInfo::components

◆ localVariables

std::vector<VariableNameAndType> BinaryNinja::DebugFunctionInfo::localVariables

◆ BinaryNinja::DebugInfo

class BinaryNinja::DebugInfo

Public Member Functions

 DebugInfo (BNDebugInfo *debugInfo)
std::vector< std::string > GetParsers () const
TypeContainer GetTypeContainer (const std::string &parserName)
 Type Container for all types in the DebugInfo that resulted from the parse of the given parser.
std::vector< NameAndTypeGetTypes (const std::string &parserName="") const
std::vector< DebugFunctionInfoGetFunctions (const std::string &parserName="") const
std::vector< DataVariableAndNameGetDataVariables (const std::string &parserName="") const
Ref< TypeGetTypeByName (const std::string &parserName, const std::string &name) const
std::optional< std::tuple< uint64_t, Ref< Type > > > GetDataVariableByName (const std::string &parserName, const std::string &name) const
std::optional< std::tuple< std::string, Ref< Type > > > GetDataVariableByAddress (const std::string &parserName, const uint64_t address) const
std::vector< std::tuple< std::string, Ref< Type > > > GetTypesByName (const std::string &name) const
std::vector< std::tuple< std::string, uint64_t, Ref< Type > > > GetDataVariablesByName (const std::string &name) const
std::vector< std::tuple< std::string, std::string, Ref< Type > > > GetDataVariablesByAddress (const uint64_t address) const
bool RemoveParserInfo (const std::string &parserName)
bool RemoveParserTypes (const std::string &parserName)
bool RemoveParserFunctions (const std::string &parserName)
bool RemoveParserDataVariables (const std::string &parserName)
bool RemoveTypeByName (const std::string &parserName, const std::string &name)
bool RemoveFunctionByIndex (const std::string &parserName, const size_t index)
bool RemoveDataVariableByAddress (const std::string &parserName, const uint64_t address)
bool AddType (const std::string &name, Ref< Type > type, const std::vector< std::string > &components={})
bool AddFunction (const DebugFunctionInfo &function)
bool AddDataVariable (uint64_t address, Ref< Type > type, const std::string &name="", const std::vector< std::string > &components={})
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNDebugInfo, BNNewDebugInfoReference, BNFreeDebugInfoReference >
 CoreRefCountObject ()
virtual ~CoreRefCountObject ()
BNDebugInfoGetObject () const
void AddRef ()
void Release ()
void AddRefForRegistration ()
void ReleaseForRegistration ()
void AddRefForCallback ()
void ReleaseForCallback ()

Additional Inherited Members

Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNDebugInfo, BNNewDebugInfoReference, BNFreeDebugInfoReference >
std::atomic< int > m_refs
bool m_registeredRef
BNDebugInfom_object

Constructor & Destructor Documentation

◆ DebugInfo()

DebugInfo::DebugInfo ( BNDebugInfo * debugInfo)

Member Function Documentation

◆ GetParsers()

vector< string > DebugInfo::GetParsers ( ) const

◆ GetTypeContainer()

TypeContainer DebugInfo::GetTypeContainer ( const std::string & parserName)

Type Container for all types in the DebugInfo that resulted from the parse of the given parser.

Parameters
parserNameName of parser
Returns
Type Container for types from that parser

◆ GetTypes()

vector< NameAndType > DebugInfo::GetTypes ( const std::string & parserName = "") const

◆ GetFunctions()

vector< DebugFunctionInfo > DebugInfo::GetFunctions ( const std::string & parserName = "") const

◆ GetDataVariables()

vector< DataVariableAndName > DebugInfo::GetDataVariables ( const std::string & parserName = "") const

◆ GetTypeByName()

Ref< Type > DebugInfo::GetTypeByName ( const std::string & parserName,
const std::string & name ) const

◆ GetDataVariableByName()

optional< tuple< uint64_t, Ref< Type > > > DebugInfo::GetDataVariableByName ( const std::string & parserName,
const std::string & name ) const

◆ GetDataVariableByAddress()

optional< tuple< string, Ref< Type > > > DebugInfo::GetDataVariableByAddress ( const std::string & parserName,
const uint64_t address ) const

◆ GetTypesByName()

vector< tuple< string, Ref< Type > > > DebugInfo::GetTypesByName ( const std::string & name) const

◆ GetDataVariablesByName()

vector< tuple< string, uint64_t, Ref< Type > > > DebugInfo::GetDataVariablesByName ( const std::string & name) const

◆ GetDataVariablesByAddress()

vector< tuple< string, string, Ref< Type > > > DebugInfo::GetDataVariablesByAddress ( const uint64_t address) const

◆ RemoveParserInfo()

bool DebugInfo::RemoveParserInfo ( const std::string & parserName)

◆ RemoveParserTypes()

bool DebugInfo::RemoveParserTypes ( const std::string & parserName)

◆ RemoveParserFunctions()

bool DebugInfo::RemoveParserFunctions ( const std::string & parserName)

◆ RemoveParserDataVariables()

bool DebugInfo::RemoveParserDataVariables ( const std::string & parserName)

◆ RemoveTypeByName()

bool DebugInfo::RemoveTypeByName ( const std::string & parserName,
const std::string & name )

◆ RemoveFunctionByIndex()

bool DebugInfo::RemoveFunctionByIndex ( const std::string & parserName,
const size_t index )

◆ RemoveDataVariableByAddress()

bool DebugInfo::RemoveDataVariableByAddress ( const std::string & parserName,
const uint64_t address )

◆ AddType()

bool DebugInfo::AddType ( const std::string & name,
Ref< Type > type,
const std::vector< std::string > & components = {} )

◆ AddFunction()

bool DebugInfo::AddFunction ( const DebugFunctionInfo & function)

◆ AddDataVariable()

bool DebugInfo::AddDataVariable ( uint64_t address,
Ref< Type > type,
const std::string & name = "",
const std::vector< std::string > & components = {} )

◆ BinaryNinja::DebugInfoParser

class BinaryNinja::DebugInfoParser

Public Member Functions

 DebugInfoParser (BNDebugInfoParser *parser)
std::string GetName () const
Ref< DebugInfoParse (Ref< BinaryView > view, Ref< BinaryView > debugView, Ref< DebugInfo > existingDebugInfo=nullptr, ProgressFunction progress={}) const
bool IsValidForView (const Ref< BinaryView > view) const
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNDebugInfoParser, BNNewDebugInfoParserReference, BNFreeDebugInfoParserReference >
 CoreRefCountObject ()
virtual ~CoreRefCountObject ()
BNDebugInfoParserGetObject () const
void AddRef ()
void Release ()
void AddRefForRegistration ()
void ReleaseForRegistration ()
void AddRefForCallback ()
void ReleaseForCallback ()

Static Public Member Functions

static Ref< DebugInfoParserGetByName (const std::string &name)
static std::vector< Ref< DebugInfoParser > > GetList ()
static std::vector< Ref< DebugInfoParser > > GetListForView (const Ref< BinaryView > data)

Additional Inherited Members

Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNDebugInfoParser, BNNewDebugInfoParserReference, BNFreeDebugInfoParserReference >
std::atomic< int > m_refs
bool m_registeredRef
BNDebugInfoParserm_object

Constructor & Destructor Documentation

◆ DebugInfoParser()

DebugInfoParser::DebugInfoParser ( BNDebugInfoParser * parser)

Member Function Documentation

◆ GetByName()

Ref< DebugInfoParser > DebugInfoParser::GetByName ( const std::string & name)
static

◆ GetList()

vector< Ref< DebugInfoParser > > DebugInfoParser::GetList ( )
static

◆ GetListForView()

vector< Ref< DebugInfoParser > > DebugInfoParser::GetListForView ( const Ref< BinaryView > data)
static

◆ GetName()

string DebugInfoParser::GetName ( ) const

◆ Parse()

Ref< DebugInfo > DebugInfoParser::Parse ( Ref< BinaryView > view,
Ref< BinaryView > debugView,
Ref< DebugInfo > existingDebugInfo = nullptr,
ProgressFunction progress = {} ) const

◆ IsValidForView()

bool DebugInfoParser::IsValidForView ( const Ref< BinaryView > view) const

◆ BinaryNinja::CustomDebugInfoParser

class BinaryNinja::CustomDebugInfoParser

Public Member Functions

 CustomDebugInfoParser (const std::string &name)
virtual ~CustomDebugInfoParser ()
virtual bool IsValid (Ref< BinaryView >)=0
virtual bool ParseInfo (Ref< DebugInfo >, Ref< BinaryView >, Ref< BinaryView >, ProgressFunction)=0
Public Member Functions inherited from BinaryNinja::DebugInfoParser
 DebugInfoParser (BNDebugInfoParser *parser)
std::string GetName () const
Ref< DebugInfoParse (Ref< BinaryView > view, Ref< BinaryView > debugView, Ref< DebugInfo > existingDebugInfo=nullptr, ProgressFunction progress={}) const
bool IsValidForView (const Ref< BinaryView > view) const
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNDebugInfoParser, BNNewDebugInfoParserReference, BNFreeDebugInfoParserReference >
 CoreRefCountObject ()
virtual ~CoreRefCountObject ()
BNDebugInfoParserGetObject () const
void AddRef ()
void Release ()
void AddRefForRegistration ()
void ReleaseForRegistration ()
void AddRefForCallback ()
void ReleaseForCallback ()

Additional Inherited Members

Static Public Member Functions inherited from BinaryNinja::DebugInfoParser
static Ref< DebugInfoParserGetByName (const std::string &name)
static std::vector< Ref< DebugInfoParser > > GetList ()
static std::vector< Ref< DebugInfoParser > > GetListForView (const Ref< BinaryView > data)
Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNDebugInfoParser, BNNewDebugInfoParserReference, BNFreeDebugInfoParserReference >
std::atomic< int > m_refs
bool m_registeredRef
BNDebugInfoParserm_object

Constructor & Destructor Documentation

◆ CustomDebugInfoParser()

CustomDebugInfoParser::CustomDebugInfoParser ( const std::string & name)

◆ ~CustomDebugInfoParser()

virtual BinaryNinja::CustomDebugInfoParser::~CustomDebugInfoParser ( )
inlinevirtual

Member Function Documentation

◆ IsValid()

virtual bool BinaryNinja::CustomDebugInfoParser::IsValid ( Ref< BinaryView > )
pure virtual

◆ ParseInfo()

virtual bool BinaryNinja::CustomDebugInfoParser::ParseInfo ( Ref< DebugInfo > ,
Ref< BinaryView > ,
Ref< BinaryView > ,
ProgressFunction  )
pure virtual