Improved API logging.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117772 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/API/SBProcess.cpp b/source/API/SBProcess.cpp
index 000854d..23152aa 100644
--- a/source/API/SBProcess.cpp
+++ b/source/API/SBProcess.cpp
@@ -53,20 +53,12 @@
 SBProcess::SBProcess (const SBProcess& rhs) :
     m_opaque_sp (rhs.m_opaque_sp)
 {
-    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
-
-    if (log)
-        log->Printf ("SBProcess::SBProcess(%p)", rhs.m_opaque_sp.get());
 }
 
 
 SBProcess::SBProcess (const lldb::ProcessSP &process_sp) :
     m_opaque_sp (process_sp)
 {
-    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
-
-    if (log)
-        log->Printf ("SBProcess::SBProcess(%p)", process_sp.get());
 }
 
 //----------------------------------------------------------------------
@@ -125,7 +117,7 @@
 
     if (log)
     {
-        log->Printf ("SBProcess(%p)::GetSelectedThread () => SBThread(%p)", m_opaque_sp.get(), sb_thread.GetLLDBObjectPtr());
+        log->Printf ("SBProcess(%p)::GetSelectedThread () => SBThread(%p)", m_opaque_sp.get(), sb_thread.get());
     }
 
     return sb_thread;
@@ -289,7 +281,7 @@
     if (log)
     {
         log->Printf ("SBProcess(%p)::GetThreadAtIndex (index=%d) => SBThread(%p)",
-                     m_opaque_sp.get(), (uint32_t) index, thread.GetLLDBObjectPtr());
+                     m_opaque_sp.get(), (uint32_t) index, thread.get());
     }
 
     return thread;
@@ -298,12 +290,12 @@
 StateType
 SBProcess::GetState ()
 {
-    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
 
     StateType ret_val = eStateInvalid;
     if (m_opaque_sp != NULL)
         ret_val = m_opaque_sp->GetState();
 
+    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
     if (log)
         log->Printf ("SBProcess(%p)::GetState () => '%s'", 
                      m_opaque_sp.get(),
@@ -316,30 +308,38 @@
 int
 SBProcess::GetExitStatus ()
 {
-    if (m_opaque_sp != NULL)
-        return m_opaque_sp->GetExitStatus ();
-    else
-        return 0;
+    int exit_status = 0;
+    if (m_opaque_sp)
+        exit_status = m_opaque_sp->GetExitStatus ();
+    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
+    if (log)
+        log->Printf ("SBProcess(%p)::GetExitStatus () => %i (0x%8.8x)", 
+                     m_opaque_sp.get(), exit_status, exit_status);
+
+    return exit_status;
 }
 
 const char *
 SBProcess::GetExitDescription ()
 {
+    const char *exit_desc = NULL;
     if (m_opaque_sp != NULL)
-        return m_opaque_sp->GetExitDescription ();
-    else
-        return NULL;
+        exit_desc = m_opaque_sp->GetExitDescription ();
+    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
+    if (log)
+        log->Printf ("SBProcess(%p)::GetExitDescription () => %s", 
+                     m_opaque_sp.get(), exit_desc);
+    return exit_desc;
 }
 
 lldb::pid_t
 SBProcess::GetProcessID ()
 {
-    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
-
     lldb::pid_t ret_val = LLDB_INVALID_PROCESS_ID;
     if (m_opaque_sp)
         ret_val = m_opaque_sp->GetID();
 
+    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
     if (log)
         log->Printf ("SBProcess(%p)::GetProcessID () => %d", m_opaque_sp.get(), ret_val);
 
@@ -349,42 +349,23 @@
 uint32_t
 SBProcess::GetAddressByteSize () const
 {
-    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
-
     uint32_t size = 0;
     if (m_opaque_sp)
         size =  m_opaque_sp->GetAddressByteSize();
 
+    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
     if (log)
         log->Printf ("SBProcess(%p)::GetAddressByteSize () => %d", m_opaque_sp.get(), size);
 
     return size;
 }
 
-bool
-SBProcess::WaitUntilProcessHasStopped (SBCommandReturnObject &result)
-{
-    bool state_changed = false;
-
-    if (IsValid())
-    {
-        EventSP event_sp;
-        StateType state = m_opaque_sp->WaitForStateChangedEvents (NULL, event_sp);
-
-        while (StateIsStoppedState (state))
-        {
-            state = m_opaque_sp->WaitForStateChangedEvents (NULL, event_sp);
-            SBEvent event (event_sp);
-            AppendEventStateReport (event, result);
-            state_changed = true;
-        }
-    }
-    return state_changed;
-}
-
 SBError
 SBProcess::Continue ()
 {
+    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
+    if (log)
+        log->Printf ("SBProcess(%p)::Continue ()...", m_opaque_sp.get());
     
     SBError sb_error;
     if (IsValid())
@@ -393,14 +374,17 @@
         if (error.Success())
         {
             if (m_opaque_sp->GetTarget().GetDebugger().GetAsyncExecution () == false)
+            {
+                if (log)
+                    log->Printf ("SBProcess(%p)::Continue () waiting for process to stop...", m_opaque_sp.get());
                 m_opaque_sp->WaitForProcessToStop (NULL);
+            }
         }
         sb_error.SetError(error);
     }
     else
         sb_error.SetErrorString ("SBProcess is invalid");
 
-    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
     if (log)
     {
         SBStream sstr;
@@ -421,6 +405,14 @@
     else
         sb_error.SetErrorString ("SBProcess is invalid");
 
+    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
+    if (log)
+    {
+        SBStream sstr;
+        sb_error.GetDescription (sstr);
+        log->Printf ("SBProcess(%p)::Destroy () => SBError (%p): %s", m_opaque_sp.get(), sb_error.get(), sstr.GetData());
+    }
+
     return sb_error;
 }
 
@@ -475,7 +467,7 @@
 
 
 SBError
-SBProcess::AttachByName (const char *name, bool wait_for_launch)
+SBProcess::AttachByName (const char *name, bool wait_for_launch) // DEPRECATED
 {
     SBError sb_error;
     if (m_opaque_sp)
@@ -486,7 +478,7 @@
 }
 
 lldb::pid_t
-SBProcess::AttachByPID (lldb::pid_t attach_pid) // DEPRECATED: will be removed in a few builds in favor of SBError AttachByPID(pid_t)
+SBProcess::AttachByPID (lldb::pid_t attach_pid) // DEPRECATED
 {
     Attach (attach_pid);
     return GetProcessID();
@@ -494,7 +486,7 @@
 
 
 SBError
-SBProcess::Attach (lldb::pid_t attach_pid)
+SBProcess::Attach (lldb::pid_t attach_pid) // DEPRECATED
 {
     SBError sb_error;
     if (m_opaque_sp)
@@ -517,23 +509,44 @@
 }
 
 SBError
-SBProcess::Signal (int signal)
+SBProcess::Signal (int signo)
 {
     SBError sb_error;
     if (m_opaque_sp)
-        sb_error.SetError (m_opaque_sp->Signal (signal));
+        sb_error.SetError (m_opaque_sp->Signal (signo));
     else
         sb_error.SetErrorString ("SBProcess is invalid");    
+    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
+    if (log)
+    {
+        SBStream sstr;
+        sb_error.GetDescription (sstr);
+        log->Printf ("SBProcess(%p)::Signal (signo=%i) => SBError (%p): %s", 
+                     m_opaque_sp.get(), 
+                     signo,
+                     sb_error.get(),
+                     sstr.GetData());
+    }
     return sb_error;
 }
 
 SBThread
-SBProcess::GetThreadByID (tid_t sb_thread_id)
+SBProcess::GetThreadByID (tid_t tid)
 {
-    SBThread thread;
+    SBThread sb_thread;
     if (m_opaque_sp)
-        thread.SetThread (m_opaque_sp->GetThreadList().FindThreadByID ((tid_t) sb_thread_id));
-    return thread;
+        sb_thread.SetThread (m_opaque_sp->GetThreadList().FindThreadByID ((tid_t) tid));
+
+    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
+    if (log)
+    {
+        log->Printf ("SBProcess(%p)::GetThreadByID (tid=0x%4.4x) => SBThread (%p)", 
+                     m_opaque_sp.get(), 
+                     tid,
+                     sb_thread.get());
+    }
+
+    return sb_thread;
 }
 
 StateType
@@ -591,6 +604,16 @@
 
     size_t bytes_read = 0;
 
+    if (log)
+    {
+        log->Printf ("SBProcess(%p)::ReadMemory (addr=0x%llx, dst=%p, dst_len=%zu, SBError (%p))...",
+                     m_opaque_sp.get(), 
+                     addr, 
+                     dst, 
+                     (uint32_t) dst_len, 
+                     sb_error.get());
+    }
+
     if (IsValid())
     {
         Error error;
@@ -606,7 +629,7 @@
     {
         SBStream sstr;
         sb_error.GetDescription (sstr);
-        log->Printf ("SBProcess(%p)::ReadMemory (addr=%llx, dst=%p, dst_len=%d, SBError (%p): %s) => %d", 
+        log->Printf ("SBProcess(%p)::ReadMemory (addr=0x%llx, dst=%p, dst_len=%zu, SBError (%p): %s) => %d", 
                      m_opaque_sp.get(), 
                      addr, 
                      dst, 
@@ -624,6 +647,17 @@
 {
     size_t bytes_written = 0;
 
+    Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
+    if (log)
+    {
+        log->Printf ("SBProcess(%p)::WriteMemory (addr=0x%llx, src=%p, dst_len=%zu, SBError (%p))...",
+                     m_opaque_sp.get(), 
+                     addr, 
+                     src, 
+                     (uint32_t) src_len, 
+                     sb_error.get());
+    }
+
     if (IsValid())
     {
         Error error;
@@ -631,6 +665,20 @@
         sb_error.SetError (error);
     }
 
+    if (log)
+    {
+        SBStream sstr;
+        sb_error.GetDescription (sstr);
+        log->Printf ("SBProcess(%p)::WriteMemory (addr=0x%llx, src=%p, dst_len=%zu, SBError (%p): %s) => %d", 
+                     m_opaque_sp.get(), 
+                     addr, 
+                     src, 
+                     (uint32_t) src_len, 
+                     sb_error.get(), 
+                     sstr.GetData(),
+                     (uint32_t) bytes_written);
+    }
+
     return bytes_written;
 }