#include <SBThread.h >
Protected Member Functions
void SetThread (const lldb::ThreadSP &lldb_object_sp)
SBError ResumeNewPlan (lldb_private::ExecutionContext &exe_ctx, lldb_private::ThreadPlan *new_plan)
Detailed Description
Definition at line 21 of file SBThread.h .
Member Enumeration Documentation
Enumerator:
eBroadcastBitStackChanged
eBroadcastBitThreadSuspended
eBroadcastBitThreadResumed
eBroadcastBitSelectedFrameChanged
eBroadcastBitThreadSelected
Definition at line 24 of file SBThread.h .
Constructor & Destructor Documentation
lldb::SBThread::SBThread
(
)
lldb::SBThread::SBThread
(
const lldb::ThreadSP &
lldb_object_sp )
lldb::SBThread::~SBThread
(
)
Member Function Documentation
void lldb::SBThread::Clear
(
)
static bool lldb::SBThread::EventIsThreadEvent
(
const SBEvent &
event )
static
static const char* lldb::SBThread::GetBroadcasterClassName
(
)
static
bool lldb::SBThread::GetDescription
(
lldb::SBStream &
description )
const
uint32_t lldb::SBThread::GetIndexID
(
)
const
const char* lldb::SBThread::GetName
(
)
const
uint32_t lldb::SBThread::GetNumFrames
(
)
const char* lldb::SBThread::GetQueueName
(
)
const
static SBFrame lldb::SBThread::GetStackFrameFromEvent
(
const SBEvent &
event )
static
size_t lldb::SBThread::GetStopDescription
(
char *
dst ,
size_t
dst_len
)
lldb::StopReason lldb::SBThread::GetStopReason
(
)
uint64_t lldb::SBThread::GetStopReasonDataAtIndex
(
uint32_t
idx )
Get information associated with a stop reason.
Breakpoint stop reasons will have data that consists of pairs of breakpoint IDs followed by the breakpoint location IDs (they always come in pairs).
Stop Reason Count Data Type ======================== ===== ========================================= eStopReasonNone 0 eStopReasonTrace 0 eStopReasonBreakpoint N duple: {breakpoint id, location id} eStopReasonWatchpoint 1 watchpoint id eStopReasonSignal 1 unix signal number eStopReasonException N exception data eStopReasonExec 0 eStopReasonPlanComplete 0
size_t lldb::SBThread::GetStopReasonDataCount
(
)
SBValue lldb::SBThread::GetStopReturnValue
(
)
static SBThread lldb::SBThread::GetThreadFromEvent
(
const SBEvent &
event )
static
lldb::tid_t lldb::SBThread::GetThreadID
(
)
const
bool lldb::SBThread::IsStopped
(
)
bool lldb::SBThread::IsSuspended
(
)
bool lldb::SBThread::IsValid
(
)
const
bool lldb::SBThread::Resume
(
)
SBError lldb::SBThread::ResumeNewPlan
(
lldb_private::ExecutionContext &
exe_ctx ,
lldb_private::ThreadPlan *
new_plan
)
protected
void lldb::SBThread::RunToAddress
(
lldb::addr_t
addr )
lldb::SBFrame lldb::SBThread::SetSelectedFrame
(
uint32_t
frame_idx )
void lldb::SBThread::SetThread
(
const lldb::ThreadSP &
lldb_object_sp )
protected
void lldb::SBThread::StepInstruction
(
bool
step_over )
void lldb::SBThread::StepInto
(
lldb::RunMode
stop_other_threads = lldb::eOnlyDuringStepping
)
void lldb::SBThread::StepInto
(
const char *
target_name ,
lldb::RunMode
stop_other_threads = lldb::eOnlyDuringStepping
)
void lldb::SBThread::StepOut
(
)
void lldb::SBThread::StepOver
(
lldb::RunMode
stop_other_threads = lldb::eOnlyDuringStepping
)
bool lldb::SBThread::Suspend
(
)
LLDB currently supports process centric debugging which means when any thread in a process stops, all other threads are stopped. The Suspend() call here tells our process to suspend a thread and not let it run when the other threads in a process are allowed to run. So when SBProcess::Continue() is called, any threads that aren't suspended will be allowed to run. If any of the SBThread functions for stepping are called (StepOver, StepInto, StepOut, StepInstruction, RunToAddres), the thread will not be allowed to run and these funtions will simply return.
Eventually we plan to add support for thread centric debugging where each thread is controlled individually and each thread would broadcast its state, but we haven't implemented this yet.
Likewise the SBThread::Resume() call will again allow the thread to run when the process is continued.
Suspend() and Resume() functions are not currently reference counted, if anyone has the need for them to be reference counted, please let us know.
Friends And Related Function Documentation
The documentation for this class was generated from the following file:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
<meta name="keywords" content="LLDB,C++,doxygen,API,documentation"/>
<meta name="description" content="C++ source code API documentation for LLDB."/>
<title>LLVM: lldb::SBThread Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head><body>
<p class="title">LLDB API Documentation</p>
<!-- Generated by Doxygen 1.8.1.2 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class List</span></a></li>
<li><a href="classes.html"><span>Class Index</span></a></li>
<li><a href="functions.html"><span>Class Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacelldb.html">lldb</a></li><li class="navelem"><a class="el" href="classlldb_1_1SBThread.html">SBThread</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> |
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pub-static-methods">Static Public Member Functions</a> |
<a href="#pro-methods">Protected Member Functions</a> |
<a href="#friends">Friends</a> |
<a href="classlldb_1_1SBThread-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">lldb::SBThread Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include <<a class="el" href="SBThread_8h_source.html">SBThread.h</a>></code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a0c2e904a2ac21c85b76014a938b23d66"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br/>
  <a class="el" href="classlldb_1_1SBThread.html#a0c2e904a2ac21c85b76014a938b23d66ab4ea28977d1e3030a377a1e793ac9120">eBroadcastBitStackChanged</a> = (1 << 0),
<a class="el" href="classlldb_1_1SBThread.html#a0c2e904a2ac21c85b76014a938b23d66a62662925abc97a7f97bd1c71239fef5f">eBroadcastBitThreadSuspended</a> = (1 << 1),
<a class="el" href="classlldb_1_1SBThread.html#a0c2e904a2ac21c85b76014a938b23d66a9f263d915e462779617c892a0778a8bb">eBroadcastBitThreadResumed</a> = (1 << 2),
<a class="el" href="classlldb_1_1SBThread.html#a0c2e904a2ac21c85b76014a938b23d66a7766e4e447c30b2b6b4153e4ce8ead1d">eBroadcastBitSelectedFrameChanged</a> = (1 << 3),
<br/>
  <a class="el" href="classlldb_1_1SBThread.html#a0c2e904a2ac21c85b76014a938b23d66acaef8a5a807b947558e099d2fd2adf79">eBroadcastBitThreadSelected</a> = (1 << 4)
<br/>
}</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8b54748de9ae410c1939ef02d00920de"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a8b54748de9ae410c1939ef02d00920de">SBThread</a> ()</td></tr>
<tr class="memitem:aec7fe669d7de36e039c68eb5dfcaddc0"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#aec7fe669d7de36e039c68eb5dfcaddc0">SBThread</a> (const <a class="el" href="classlldb_1_1SBThread.html">lldb::SBThread</a> &thread)</td></tr>
<tr class="memitem:aade5b95b23d4758eb2c88edbacc0fb3a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#aade5b95b23d4758eb2c88edbacc0fb3a">SBThread</a> (const lldb::ThreadSP &lldb_object_sp)</td></tr>
<tr class="memitem:a864c3fa5237eb47a69acc53a952891bb"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a864c3fa5237eb47a69acc53a952891bb">~SBThread</a> ()</td></tr>
<tr class="memitem:a076728745d8f7b4ff0a006c6d492f68a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a076728745d8f7b4ff0a006c6d492f68a">IsValid</a> () const </td></tr>
<tr class="memitem:a950298b48d0f925052501af7c37704b8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a950298b48d0f925052501af7c37704b8">Clear</a> ()</td></tr>
<tr class="memitem:a79be9614efe9eeae9087a3cfcbe61ec5"><td class="memItemLeft" align="right" valign="top">lldb::StopReason </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a79be9614efe9eeae9087a3cfcbe61ec5">GetStopReason</a> ()</td></tr>
<tr class="memitem:adf85d9b706b7e1f11fa657b32d98c727"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#adf85d9b706b7e1f11fa657b32d98c727">GetStopReasonDataCount</a> ()</td></tr>
<tr class="memitem:a4bc454cef4951072c6de1296a1f5ed68"><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a4bc454cef4951072c6de1296a1f5ed68">GetStopReasonDataAtIndex</a> (uint32_t idx)</td></tr>
<tr class="memitem:ac46294eae484c6e82b10f4455999618c"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#ac46294eae484c6e82b10f4455999618c">GetStopDescription</a> (char *dst, size_t dst_len)</td></tr>
<tr class="memitem:ab89741c73219debc15d42f3cd5f0789b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#ab89741c73219debc15d42f3cd5f0789b">GetStopReturnValue</a> ()</td></tr>
<tr class="memitem:afb5c30b8d88106f33ddb51de0689bcbd"><td class="memItemLeft" align="right" valign="top">lldb::tid_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#afb5c30b8d88106f33ddb51de0689bcbd">GetThreadID</a> () const </td></tr>
<tr class="memitem:abf06a1e05dada94ba21a772690816310"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#abf06a1e05dada94ba21a772690816310">GetIndexID</a> () const </td></tr>
<tr class="memitem:a2b283a43a1bda5c940f838cfb49f227f"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a2b283a43a1bda5c940f838cfb49f227f">GetName</a> () const </td></tr>
<tr class="memitem:ad63661037fe0277509877b6c65da05de"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#ad63661037fe0277509877b6c65da05de">GetQueueName</a> () const </td></tr>
<tr class="memitem:a42755a170e127881a5dd65162217f68b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a42755a170e127881a5dd65162217f68b">StepOver</a> (lldb::RunMode stop_other_threads=lldb::eOnlyDuringStepping)</td></tr>
<tr class="memitem:a84a9dbfd8c4c94351cb60c38a18a67a0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a84a9dbfd8c4c94351cb60c38a18a67a0">StepInto</a> (lldb::RunMode stop_other_threads=lldb::eOnlyDuringStepping)</td></tr>
<tr class="memitem:a5062ca72384390f68f20e21e7efd2f1b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a5062ca72384390f68f20e21e7efd2f1b">StepInto</a> (const char *target_name, lldb::RunMode stop_other_threads=lldb::eOnlyDuringStepping)</td></tr>
<tr class="memitem:a47712ec695dc69b2b3d8835a1c8f9e08"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a47712ec695dc69b2b3d8835a1c8f9e08">StepOut</a> ()</td></tr>
<tr class="memitem:ad81d5954e953286b866359bcd890527a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#ad81d5954e953286b866359bcd890527a">StepOutOfFrame</a> (<a class="el" href="classlldb_1_1SBFrame.html">lldb::SBFrame</a> &frame)</td></tr>
<tr class="memitem:a91be7d09500d9a45c8062e890c0ef65a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a91be7d09500d9a45c8062e890c0ef65a">StepInstruction</a> (bool step_over)</td></tr>
<tr class="memitem:ab95fbc4a89b2bad1d6196ef7fc7d1af6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBError.html">SBError</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#ab95fbc4a89b2bad1d6196ef7fc7d1af6">StepOverUntil</a> (<a class="el" href="classlldb_1_1SBFrame.html">lldb::SBFrame</a> &frame, <a class="el" href="classlldb_1_1SBFileSpec.html">lldb::SBFileSpec</a> &file_spec, uint32_t line)</td></tr>
<tr class="memitem:af819c8f3aed4db9c0b8a0c9019c4421c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#af819c8f3aed4db9c0b8a0c9019c4421c">RunToAddress</a> (lldb::addr_t addr)</td></tr>
<tr class="memitem:a1f4d81ccd656713093f21df6c46dda8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBError.html">SBError</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a1f4d81ccd656713093f21df6c46dda8d">ReturnFromFrame</a> (<a class="el" href="classlldb_1_1SBFrame.html">SBFrame</a> &frame, <a class="el" href="classlldb_1_1SBValue.html">SBValue</a> &return_value)</td></tr>
<tr class="memitem:a6847ec32bfe6cdb2aca1c6668e3eb158"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a6847ec32bfe6cdb2aca1c6668e3eb158">Suspend</a> ()</td></tr>
<tr class="memitem:a3f231dc928e32c2a8310799febc512d1"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a3f231dc928e32c2a8310799febc512d1">Resume</a> ()</td></tr>
<tr class="memitem:a0103192830d8415b80fdc1453b1532e6"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a0103192830d8415b80fdc1453b1532e6">IsSuspended</a> ()</td></tr>
<tr class="memitem:aed3b42c65eab2715c8be1ec721f84290"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#aed3b42c65eab2715c8be1ec721f84290">IsStopped</a> ()</td></tr>
<tr class="memitem:ab539c22dbd550c32b943cfe1ebe612ff"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#ab539c22dbd550c32b943cfe1ebe612ff">GetNumFrames</a> ()</td></tr>
<tr class="memitem:ae4fc59e1a3c9a23ffacaa0302c3e601f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBFrame.html">lldb::SBFrame</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#ae4fc59e1a3c9a23ffacaa0302c3e601f">GetFrameAtIndex</a> (uint32_t idx)</td></tr>
<tr class="memitem:a4eee12a873d21fb662006c8491fd973c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBFrame.html">lldb::SBFrame</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a4eee12a873d21fb662006c8491fd973c">GetSelectedFrame</a> ()</td></tr>
<tr class="memitem:aa502c9ac5f3b4ee76c815020c6ade667"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBFrame.html">lldb::SBFrame</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#aa502c9ac5f3b4ee76c815020c6ade667">SetSelectedFrame</a> (uint32_t frame_idx)</td></tr>
<tr class="memitem:aeab8b5a62798a93f37e1dc59f21db83a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBProcess.html">lldb::SBProcess</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#aeab8b5a62798a93f37e1dc59f21db83a">GetProcess</a> ()</td></tr>
<tr class="memitem:afe9396a2010ed7f08362885a7f7d3520"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classlldb_1_1SBThread.html">lldb::SBThread</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#afe9396a2010ed7f08362885a7f7d3520">operator=</a> (const <a class="el" href="classlldb_1_1SBThread.html">lldb::SBThread</a> &rhs)</td></tr>
<tr class="memitem:a002f86ba7e38a2fa80602d089302fa6d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a002f86ba7e38a2fa80602d089302fa6d">operator==</a> (const <a class="el" href="classlldb_1_1SBThread.html">lldb::SBThread</a> &rhs) const </td></tr>
<tr class="memitem:a6921cddf64456cdc6235c9b01b514ab2"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a6921cddf64456cdc6235c9b01b514ab2">operator!=</a> (const <a class="el" href="classlldb_1_1SBThread.html">lldb::SBThread</a> &rhs) const </td></tr>
<tr class="memitem:ab4cd0bf563df16cb647e7abb6af8870a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#ab4cd0bf563df16cb647e7abb6af8870a">GetDescription</a> (<a class="el" href="classlldb_1_1SBStream.html">lldb::SBStream</a> &description) const </td></tr>
<tr class="memitem:ac5a20fe213ad4d77d7bf70d3d67db5a6"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#ac5a20fe213ad4d77d7bf70d3d67db5a6">GetStatus</a> (<a class="el" href="classlldb_1_1SBStream.html">lldb::SBStream</a> &status) const </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ad1ca1e7a503bd68606f0e1ab596c4256"><td class="memItemLeft" align="right" valign="top">static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#ad1ca1e7a503bd68606f0e1ab596c4256">GetBroadcasterClassName</a> ()</td></tr>
<tr class="memitem:a6bfb8ceea66150f64a1b3602d9e89c03"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a6bfb8ceea66150f64a1b3602d9e89c03">EventIsThreadEvent</a> (const <a class="el" href="classlldb_1_1SBEvent.html">SBEvent</a> &event)</td></tr>
<tr class="memitem:aa8b41d1e0dc0b9210895ac0f54706d09"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classlldb_1_1SBFrame.html">SBFrame</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#aa8b41d1e0dc0b9210895ac0f54706d09">GetStackFrameFromEvent</a> (const <a class="el" href="classlldb_1_1SBEvent.html">SBEvent</a> &event)</td></tr>
<tr class="memitem:aa31775801cb0cc2c1024c6056f88a458"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classlldb_1_1SBThread.html">SBThread</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#aa31775801cb0cc2c1024c6056f88a458">GetThreadFromEvent</a> (const <a class="el" href="classlldb_1_1SBEvent.html">SBEvent</a> &event)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ab752451f037bdb3dc3dca2068d8ae88c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#ab752451f037bdb3dc3dca2068d8ae88c">SetThread</a> (const lldb::ThreadSP &lldb_object_sp)</td></tr>
<tr class="memitem:a936d32f6f90c5f2434a0cb2eeb3c90c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBError.html">SBError</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a936d32f6f90c5f2434a0cb2eeb3c90c9">ResumeNewPlan</a> (lldb_private::ExecutionContext &exe_ctx, lldb_private::ThreadPlan *new_plan)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a6111b8161fd12c097de5b0312ff50808"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a6111b8161fd12c097de5b0312ff50808">SBBreakpoint</a></td></tr>
<tr class="memitem:ade87025d6a977d3f528050f7c16a5d48"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#ade87025d6a977d3f528050f7c16a5d48">SBBreakpointLocation</a></td></tr>
<tr class="memitem:abf05358ec2c89fa95b69c85ed46492c9"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#abf05358ec2c89fa95b69c85ed46492c9">SBFrame</a></td></tr>
<tr class="memitem:a3392eea8d13e7395ee1e04a2b733e19b"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a3392eea8d13e7395ee1e04a2b733e19b">SBProcess</a></td></tr>
<tr class="memitem:a57b27e10004af3d21e9f5a904faf2988"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a57b27e10004af3d21e9f5a904faf2988">SBDebugger</a></td></tr>
<tr class="memitem:a6d018c47ed70656ffcdafc2861ee0b2c"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBThread.html#a6d018c47ed70656ffcdafc2861ee0b2c">SBValue</a></td></tr>
</table>
<a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="SBThread_8h_source.html#l00021">21</a> of file <a class="el" href="SBThread_8h_source.html">SBThread.h</a>.</p>
</div><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a0c2e904a2ac21c85b76014a938b23d66"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a0c2e904a2ac21c85b76014a938b23d66ab4ea28977d1e3030a377a1e793ac9120"></a>eBroadcastBitStackChanged</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0c2e904a2ac21c85b76014a938b23d66a62662925abc97a7f97bd1c71239fef5f"></a>eBroadcastBitThreadSuspended</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0c2e904a2ac21c85b76014a938b23d66a9f263d915e462779617c892a0778a8bb"></a>eBroadcastBitThreadResumed</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0c2e904a2ac21c85b76014a938b23d66a7766e4e447c30b2b6b4153e4ce8ead1d"></a>eBroadcastBitSelectedFrameChanged</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0c2e904a2ac21c85b76014a938b23d66acaef8a5a807b947558e099d2fd2adf79"></a>eBroadcastBitThreadSelected</em> </td><td>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="SBThread_8h_source.html#l00024">24</a> of file <a class="el" href="SBThread_8h_source.html">SBThread.h</a>.</p>
</div>
</div>
<h2>Constructor & Destructor Documentation</h2>
<a class="anchor" id="a8b54748de9ae410c1939ef02d00920de"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::SBThread::SBThread </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aec7fe669d7de36e039c68eb5dfcaddc0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::SBThread::SBThread </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classlldb_1_1SBThread.html">lldb::SBThread</a> & </td>
<td class="paramname"><em>thread</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aade5b95b23d4758eb2c88edbacc0fb3a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::SBThread::SBThread </td>
<td>(</td>
<td class="paramtype">const lldb::ThreadSP & </td>
<td class="paramname"><em>lldb_object_sp</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a864c3fa5237eb47a69acc53a952891bb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::SBThread::~SBThread </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2>Member Function Documentation</h2>
<a class="anchor" id="a950298b48d0f925052501af7c37704b8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void lldb::SBThread::Clear </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6bfb8ceea66150f64a1b3602d9e89c03"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool lldb::SBThread::EventIsThreadEvent </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classlldb_1_1SBEvent.html">SBEvent</a> & </td>
<td class="paramname"><em>event</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad1ca1e7a503bd68606f0e1ab596c4256"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static const char* lldb::SBThread::GetBroadcasterClassName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab4cd0bf563df16cb647e7abb6af8870a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBThread::GetDescription </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBStream.html">lldb::SBStream</a> & </td>
<td class="paramname"><em>description</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae4fc59e1a3c9a23ffacaa0302c3e601f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBFrame.html">lldb::SBFrame</a> lldb::SBThread::GetFrameAtIndex </td>
<td>(</td>
<td class="paramtype">uint32_t </td>
<td class="paramname"><em>idx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="abf06a1e05dada94ba21a772690816310"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lldb::SBThread::GetIndexID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2b283a43a1bda5c940f838cfb49f227f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* lldb::SBThread::GetName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab539c22dbd550c32b943cfe1ebe612ff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lldb::SBThread::GetNumFrames </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aeab8b5a62798a93f37e1dc59f21db83a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBProcess.html">lldb::SBProcess</a> lldb::SBThread::GetProcess </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad63661037fe0277509877b6c65da05de"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* lldb::SBThread::GetQueueName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4eee12a873d21fb662006c8491fd973c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBFrame.html">lldb::SBFrame</a> lldb::SBThread::GetSelectedFrame </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa8b41d1e0dc0b9210895ac0f54706d09"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classlldb_1_1SBFrame.html">SBFrame</a> lldb::SBThread::GetStackFrameFromEvent </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classlldb_1_1SBEvent.html">SBEvent</a> & </td>
<td class="paramname"><em>event</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac5a20fe213ad4d77d7bf70d3d67db5a6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBThread::GetStatus </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBStream.html">lldb::SBStream</a> & </td>
<td class="paramname"><em>status</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac46294eae484c6e82b10f4455999618c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t lldb::SBThread::GetStopDescription </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>dst_len</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a79be9614efe9eeae9087a3cfcbe61ec5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::StopReason lldb::SBThread::GetStopReason </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4bc454cef4951072c6de1296a1f5ed68"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t lldb::SBThread::GetStopReasonDataAtIndex </td>
<td>(</td>
<td class="paramtype">uint32_t </td>
<td class="paramname"><em>idx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get information associated with a stop reason.</p>
<p>Breakpoint stop reasons will have data that consists of pairs of breakpoint IDs followed by the breakpoint location IDs (they always come in pairs).</p>
<p>Stop Reason Count Data Type ======================== ===== ========================================= eStopReasonNone 0 eStopReasonTrace 0 eStopReasonBreakpoint N duple: {breakpoint id, location id} eStopReasonWatchpoint 1 watchpoint id eStopReasonSignal 1 unix signal number eStopReasonException N exception data eStopReasonExec 0 eStopReasonPlanComplete 0 </p>
</div>
</div>
<a class="anchor" id="adf85d9b706b7e1f11fa657b32d98c727"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t lldb::SBThread::GetStopReasonDataCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the number of words associated with the stop reason. See also <a class="el" href="classlldb_1_1SBThread.html#a4bc454cef4951072c6de1296a1f5ed68">GetStopReasonDataAtIndex()</a>. </p>
</div>
</div>
<a class="anchor" id="ab89741c73219debc15d42f3cd5f0789b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">SBValue</a> lldb::SBThread::GetStopReturnValue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa31775801cb0cc2c1024c6056f88a458"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classlldb_1_1SBThread.html">SBThread</a> lldb::SBThread::GetThreadFromEvent </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classlldb_1_1SBEvent.html">SBEvent</a> & </td>
<td class="paramname"><em>event</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="afb5c30b8d88106f33ddb51de0689bcbd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::tid_t lldb::SBThread::GetThreadID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aed3b42c65eab2715c8be1ec721f84290"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBThread::IsStopped </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0103192830d8415b80fdc1453b1532e6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBThread::IsSuspended </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a076728745d8f7b4ff0a006c6d492f68a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBThread::IsValid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6921cddf64456cdc6235c9b01b514ab2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBThread::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classlldb_1_1SBThread.html">lldb::SBThread</a> & </td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="afe9396a2010ed7f08362885a7f7d3520"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classlldb_1_1SBThread.html">lldb::SBThread</a>& lldb::SBThread::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classlldb_1_1SBThread.html">lldb::SBThread</a> & </td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a002f86ba7e38a2fa80602d089302fa6d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBThread::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classlldb_1_1SBThread.html">lldb::SBThread</a> & </td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a3f231dc928e32c2a8310799febc512d1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBThread::Resume </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a936d32f6f90c5f2434a0cb2eeb3c90c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBError.html">SBError</a> lldb::SBThread::ResumeNewPlan </td>
<td>(</td>
<td class="paramtype">lldb_private::ExecutionContext & </td>
<td class="paramname"><em>exe_ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lldb_private::ThreadPlan * </td>
<td class="paramname"><em>new_plan</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1f4d81ccd656713093f21df6c46dda8d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBError.html">SBError</a> lldb::SBThread::ReturnFromFrame </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBFrame.html">SBFrame</a> & </td>
<td class="paramname"><em>frame</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBValue.html">SBValue</a> & </td>
<td class="paramname"><em>return_value</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af819c8f3aed4db9c0b8a0c9019c4421c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void lldb::SBThread::RunToAddress </td>
<td>(</td>
<td class="paramtype">lldb::addr_t </td>
<td class="paramname"><em>addr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa502c9ac5f3b4ee76c815020c6ade667"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBFrame.html">lldb::SBFrame</a> lldb::SBThread::SetSelectedFrame </td>
<td>(</td>
<td class="paramtype">uint32_t </td>
<td class="paramname"><em>frame_idx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab752451f037bdb3dc3dca2068d8ae88c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void lldb::SBThread::SetThread </td>
<td>(</td>
<td class="paramtype">const lldb::ThreadSP & </td>
<td class="paramname"><em>lldb_object_sp</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a91be7d09500d9a45c8062e890c0ef65a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void lldb::SBThread::StepInstruction </td>
<td>(</td>
<td class="paramtype">bool </td>
<td class="paramname"><em>step_over</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a84a9dbfd8c4c94351cb60c38a18a67a0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void lldb::SBThread::StepInto </td>
<td>(</td>
<td class="paramtype">lldb::RunMode </td>
<td class="paramname"><em>stop_other_threads</em> = <code>lldb::eOnlyDuringStepping</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5062ca72384390f68f20e21e7efd2f1b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void lldb::SBThread::StepInto </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>target_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lldb::RunMode </td>
<td class="paramname"><em>stop_other_threads</em> = <code>lldb::eOnlyDuringStepping</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a47712ec695dc69b2b3d8835a1c8f9e08"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void lldb::SBThread::StepOut </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad81d5954e953286b866359bcd890527a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void lldb::SBThread::StepOutOfFrame </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBFrame.html">lldb::SBFrame</a> & </td>
<td class="paramname"><em>frame</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a42755a170e127881a5dd65162217f68b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void lldb::SBThread::StepOver </td>
<td>(</td>
<td class="paramtype">lldb::RunMode </td>
<td class="paramname"><em>stop_other_threads</em> = <code>lldb::eOnlyDuringStepping</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab95fbc4a89b2bad1d6196ef7fc7d1af6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBError.html">SBError</a> lldb::SBThread::StepOverUntil </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBFrame.html">lldb::SBFrame</a> & </td>
<td class="paramname"><em>frame</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBFileSpec.html">lldb::SBFileSpec</a> & </td>
<td class="paramname"><em>file_spec</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t </td>
<td class="paramname"><em>line</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6847ec32bfe6cdb2aca1c6668e3eb158"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBThread::Suspend </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>LLDB currently supports process centric debugging which means when any thread in a process stops, all other threads are stopped. The <a class="el" href="classlldb_1_1SBThread.html#a6847ec32bfe6cdb2aca1c6668e3eb158">Suspend()</a> call here tells our process to suspend a thread and not let it run when the other threads in a process are allowed to run. So when <a class="el" href="classlldb_1_1SBProcess.html#aa68283c391d11d93e151b0ec16cf1501">SBProcess::Continue()</a> is called, any threads that aren't suspended will be allowed to run. If any of the <a class="el" href="classlldb_1_1SBThread.html">SBThread</a> functions for stepping are called (StepOver, StepInto, StepOut, StepInstruction, RunToAddres), the thread will not be allowed to run and these funtions will simply return.</p>
<p>Eventually we plan to add support for thread centric debugging where each thread is controlled individually and each thread would broadcast its state, but we haven't implemented this yet.</p>
<p>Likewise the <a class="el" href="classlldb_1_1SBThread.html#a3f231dc928e32c2a8310799febc512d1">SBThread::Resume()</a> call will again allow the thread to run when the process is continued.</p>
<p><a class="el" href="classlldb_1_1SBThread.html#a6847ec32bfe6cdb2aca1c6668e3eb158">Suspend()</a> and <a class="el" href="classlldb_1_1SBThread.html#a3f231dc928e32c2a8310799febc512d1">Resume()</a> functions are not currently reference counted, if anyone has the need for them to be reference counted, please let us know. </p>
</div>
</div>
<h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a6111b8161fd12c097de5b0312ff50808"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classlldb_1_1SBBreakpoint.html">SBBreakpoint</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SBThread_8h_source.html#l00199">199</a> of file <a class="el" href="SBThread_8h_source.html">SBThread.h</a>.</p>
</div>
</div>
<a class="anchor" id="ade87025d6a977d3f528050f7c16a5d48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classlldb_1_1SBBreakpointLocation.html">SBBreakpointLocation</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SBThread_8h_source.html#l00200">200</a> of file <a class="el" href="SBThread_8h_source.html">SBThread.h</a>.</p>
</div>
</div>
<a class="anchor" id="a57b27e10004af3d21e9f5a904faf2988"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classlldb_1_1SBDebugger.html">SBDebugger</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SBThread_8h_source.html#l00203">203</a> of file <a class="el" href="SBThread_8h_source.html">SBThread.h</a>.</p>
</div>
</div>
<a class="anchor" id="abf05358ec2c89fa95b69c85ed46492c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classlldb_1_1SBFrame.html">SBFrame</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SBThread_8h_source.html#l00201">201</a> of file <a class="el" href="SBThread_8h_source.html">SBThread.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3392eea8d13e7395ee1e04a2b733e19b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classlldb_1_1SBProcess.html">SBProcess</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SBThread_8h_source.html#l00202">202</a> of file <a class="el" href="SBThread_8h_source.html">SBThread.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6d018c47ed70656ffcdafc2861ee0b2c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classlldb_1_1SBValue.html">SBValue</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SBThread_8h_source.html#l00204">204</a> of file <a class="el" href="SBThread_8h_source.html">SBThread.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="SBThread_8h_source.html">SBThread.h</a></li>
</ul>
</div><!-- contents -->
<hr>
<p class="footer">
Generated on Fri Jul 19 2013 13:25:55 for <a href="http://lldb.llvm.org/">LLVM</a> by
<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
align="middle" border="0"/>1.8.1.2</a><br>
Copyright © 2003-2013 University of Illinois at Urbana-Champaign.
All Rights Reserved.</p>
<hr>
<!--#include virtual="/attrib.incl" -->
</body>
</html>
您还没有登录,登录后您可以:
收藏Android系统代码
收藏喜欢的文章
多个平台共享账号
去登录
首次使用?从这里 注册