diff options
Diffstat (limited to 'lldb/source/API/SBAddress.cpp')
-rw-r--r-- | lldb/source/API/SBAddress.cpp | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/lldb/source/API/SBAddress.cpp b/lldb/source/API/SBAddress.cpp index 7f21cf79fca..913847a893e 100644 --- a/lldb/source/API/SBAddress.cpp +++ b/lldb/source/API/SBAddress.cpp @@ -11,27 +11,49 @@ #include "lldb/API/SBProcess.h" #include "lldb/API/SBStream.h" #include "lldb/Core/Address.h" +#include "lldb/Core/Log.h" using namespace lldb; +using namespace lldb_private; SBAddress::SBAddress () : m_opaque_ap () { + Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API | LIBLLDB_LOG_VERBOSE); + + if (log) + log->Printf ("SBAddress::SBAddress () ==> this = %p (%s)", this); } SBAddress::SBAddress (const lldb_private::Address *lldb_object_ptr) : m_opaque_ap () { + Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API | LIBLLDB_LOG_VERBOSE); + if (lldb_object_ptr) m_opaque_ap.reset (new lldb_private::Address(*lldb_object_ptr)); + + if (log) + { + SBStream sstr; + GetDescription (sstr); + log->Printf ("SBAddress::SBAddress (const lldb_private::Address *lldb_object_ptr) lldb_object_ptr = %p " + "==> this = %p (%s)", lldb_object_ptr, this, sstr.GetData()); + } } SBAddress::SBAddress (const SBAddress &rhs) : m_opaque_ap () { + Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API | LIBLLDB_LOG_VERBOSE); + if (rhs.IsValid()) m_opaque_ap.reset (new lldb_private::Address(*rhs.m_opaque_ap.get())); + + if (log) + log->Printf ("SBAddress::SBAddress (const SBAddress &rhs) rhs.m_opaque_ap.get() = %p ==> this = %p", + (rhs.IsValid() ? rhs.m_opaque_ap.get() : NULL), this); } SBAddress::~SBAddress () @@ -41,11 +63,17 @@ SBAddress::~SBAddress () const SBAddress & SBAddress::operator = (const SBAddress &rhs) { + Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API); + if (this != &rhs) { if (rhs.IsValid()) m_opaque_ap.reset (new lldb_private::Address(*rhs.m_opaque_ap.get())); } + if (log) + log->Printf ("SBAddress::operator= (const SBAddress rhs) rhs = %p ==> this = %p", + (rhs.IsValid() ? rhs.m_opaque_ap.get() : NULL), this); + return *this; } @@ -88,10 +116,24 @@ SBAddress::GetFileAddress () const lldb::addr_t SBAddress::GetLoadAddress (const SBTarget &target) const { + Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API); + + if (log) + log->Printf ("SBAddress::GetLoadAddress"); + if (m_opaque_ap.get()) - return m_opaque_ap->GetLoadAddress(target.get()); + { + lldb::addr_t addr = m_opaque_ap->GetLoadAddress (target.get()); + if (log) + log->Printf ("SBAddress::GetLoadAddress ==> %p", addr); + return addr; + } else + { + if (log) + log->Printf ("SBAddress::GetLoadAddress ==> LLDB_INVALID_ADDRESS"); return LLDB_INVALID_ADDRESS; + } } bool |