summaryrefslogtreecommitdiffstats
path: root/lldb/source/API/SBProcess.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/API/SBProcess.cpp')
-rw-r--r--lldb/source/API/SBProcess.cpp156
1 files changed, 102 insertions, 54 deletions
diff --git a/lldb/source/API/SBProcess.cpp b/lldb/source/API/SBProcess.cpp
index 000854d9713..23152aa43d5 100644
--- a/lldb/source/API/SBProcess.cpp
+++ b/lldb/source/API/SBProcess.cpp
@@ -53,20 +53,12 @@ SBProcess::SBProcess () :
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 @@ SBProcess::GetSelectedThread () const
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 @@ SBProcess::GetThreadAtIndex (size_t index)
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 @@ SBProcess::GetThreadAtIndex (size_t index)
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 @@ SBProcess::GetState ()
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 @@ SBProcess::GetProcessID ()
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 @@ SBProcess::Continue ()
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 @@ SBProcess::Destroy ()
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 @@ SBProcess::Kill ()
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 @@ SBProcess::AttachByName (const char *name, bool wait_for_launch)
}
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 @@ SBProcess::AttachByPID (lldb::pid_t attach_pid) // DEPRECATED: will be removed i
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 @@ SBProcess::Detach ()
}
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 @@ SBProcess::ReadMemory (addr_t addr, void *dst, size_t dst_len, SBError &sb_error
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 @@ SBProcess::ReadMemory (addr_t addr, void *dst, size_t dst_len, SBError &sb_error
{
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 @@ SBProcess::WriteMemory (addr_t addr, const void *src, size_t src_len, SBError &s
{
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 @@ SBProcess::WriteMemory (addr_t addr, const void *src, size_t src_len, SBError &s
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;
}
OpenPOWER on IntegriCloud