mirror of
https://github.com/intel/llvm.git
synced 2026-01-14 20:10:50 +08:00
Added the ability for SBTarget to resolve load addresses (convert lldb::addr_t values into resolved SBAddress objects). These SBAddress objects can then be used to resolve a symbol context using "lldb::SBSymbolContext ResolveSymbolContextForAddress (const lldb::SBAddress& addr, uint32_t resolve_scope);".
llvm-svn: 121638
This commit is contained in:
@@ -54,6 +54,7 @@ protected:
|
||||
friend class SBInstruction;
|
||||
friend class SBModule;
|
||||
friend class SBSymbolContext;
|
||||
friend class SBTarget;
|
||||
friend class SBThread;
|
||||
|
||||
#ifndef SWIG
|
||||
|
||||
@@ -33,6 +33,12 @@ public:
|
||||
#ifndef SWIG
|
||||
const lldb::SBBreakpoint &
|
||||
operator = (const lldb::SBBreakpoint& rhs);
|
||||
|
||||
// Tests to see if the opaque breakpoint object in this object matches the
|
||||
// opaque breakpoint object in "rhs".
|
||||
bool
|
||||
operator == (const lldb::SBBreakpoint& rhs);
|
||||
|
||||
#endif
|
||||
|
||||
break_id_t
|
||||
|
||||
@@ -103,6 +103,10 @@ public:
|
||||
|
||||
bool
|
||||
DeleteTargetFromList (lldb_private::TargetList *list);
|
||||
|
||||
bool
|
||||
ResolveLoadAddress (lldb::addr_t vm_addr,
|
||||
lldb::SBAddress& addr);
|
||||
|
||||
lldb::SBBreakpoint
|
||||
BreakpointCreateByLocation (const char *file, uint32_t line);
|
||||
|
||||
@@ -92,6 +92,14 @@ SBBreakpoint::operator = (const SBBreakpoint& rhs)
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool
|
||||
SBBreakpoint::operator == (const lldb::SBBreakpoint& rhs)
|
||||
{
|
||||
if (m_opaque_sp && rhs.m_opaque_sp)
|
||||
return m_opaque_sp.get() == rhs.m_opaque_sp.get();
|
||||
return false;
|
||||
}
|
||||
|
||||
break_id_t
|
||||
SBBreakpoint::GetID () const
|
||||
{
|
||||
|
||||
@@ -383,6 +383,17 @@ SBTarget::reset (const lldb::TargetSP& target_sp)
|
||||
m_opaque_sp = target_sp;
|
||||
}
|
||||
|
||||
bool
|
||||
SBTarget::ResolveLoadAddress (lldb::addr_t vm_addr,
|
||||
lldb::SBAddress& addr)
|
||||
{
|
||||
if (m_opaque_sp)
|
||||
return m_opaque_sp->GetSectionLoadList().ResolveLoadAddress (vm_addr, *addr);
|
||||
|
||||
addr->Clear();
|
||||
return false;
|
||||
}
|
||||
|
||||
SBBreakpoint
|
||||
SBTarget::BreakpointCreateByLocation (const char *file, uint32_t line)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user