<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>lldb.SBExecutionContext</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://lldb.llvm.org">LLDB python API</a></th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="lldb-module.html">Package&nbsp;lldb</a> ::
        Class&nbsp;SBExecutionContext
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="lldb.SBExecutionContext-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class SBExecutionContext</h1><p class="nomargin-top"><span class="codelink"><a href="lldb-pysrc.html#SBExecutionContext">source&nbsp;code</a></span></p>
<center>
<center>  <map id="uml_class_diagram_for_lldb_sbe_3" name="uml_class_diagram_for_lldb_sbe_3">
<area shape="rect" id="node1_16" href="lldb.SBExecutionContext-class.html#__swig_setmethods__" title="lldb.SBExecutionContext.__swig_setmethods__" alt="" coords="17,31,197,51"/>
<area shape="rect" id="node1_17" href="lldb.SBExecutionContext-class.html#__swig_getmethods__" title="lldb.SBExecutionContext.__swig_getmethods__" alt="" coords="17,51,197,71"/>
<area shape="rect" id="node1_18" href="lldb.SBExecutionContext-class.html#frame" title="A read only property that returns the same result as GetFrame()." alt="" coords="17,71,197,91"/>
<area shape="rect" id="node1_19" href="lldb.SBExecutionContext-class.html#process" title="A read only property that returns the same result as GetProcess()." alt="" coords="17,91,197,111"/>
<area shape="rect" id="node1_20" href="lldb.SBExecutionContext-class.html#target" title="A read only property that returns the same result as GetTarget()." alt="" coords="17,111,197,131"/>
<area shape="rect" id="node1_21" href="lldb.SBExecutionContext-class.html#thread" title="A read only property that returns the same result as GetThread()." alt="" coords="17,131,197,151"/>
<area shape="rect" id="node1_22" href="lldb.SBExecutionContext-class.html#__setattr__" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,153,197,173"/>
<area shape="rect" id="node1_23" href="lldb.SBExecutionContext-class.html#__getattr__" title="lldb.SBExecutionContext.__getattr__" alt="" coords="17,173,197,193"/>
<area shape="rect" id="node1_24" href="lldb.SBExecutionContext-class.html#__repr__" title="repr(x)" alt="" coords="17,193,197,213"/>
<area shape="rect" id="node1_25" href="lldb.SBExecutionContext-class.html#__init__" title="__init__(lldb::SBExecutionContext self) &#45;&gt; SBExecutionContext &#160;__init__(lldb::SBExecutionContext self, SBExecutionContext rhs) &#45;&gt; &#160;SBExecutionContext __init__(lldb::SBExecutionContext self, SBTarget target) &#45;&gt; SBExecutionContext __init__(lldb::SBExecutionContext self, SBProcess &#160;process) &#45;&gt; SBExecutionContext __init__(lldb::SBExecutionContext self, &#160;SBThread thread) &#45;&gt; SBExecutionContext __init__(lldb::SBExecutionContext &#160;self, SBFrame frame) &#45;&gt; SBExecutionContext" alt="" coords="17,213,197,233"/>
<area shape="rect" id="node1_26" href="lldb.SBExecutionContext-class.html#__swig_destroy__" title="delete_SBExecutionContext(SBExecutionContext self)" alt="" coords="17,233,197,253"/>
<area shape="rect" id="node1_27" href="lldb.SBExecutionContext-class.html#__del__" title="lldb.SBExecutionContext.__del__" alt="" coords="17,253,197,273"/>
<area shape="rect" id="node1_28" href="lldb.SBExecutionContext-class.html#GetTarget" title="GetTarget(SBExecutionContext self) &#45;&gt; SBTarget" alt="" coords="17,273,197,293"/>
<area shape="rect" id="node1_29" href="lldb.SBExecutionContext-class.html#GetProcess" title="GetProcess(SBExecutionContext self) &#45;&gt; SBProcess" alt="" coords="17,293,197,313"/>
<area shape="rect" id="node1_30" href="lldb.SBExecutionContext-class.html#GetThread" title="GetThread(SBExecutionContext self) &#45;&gt; SBThread" alt="" coords="17,313,197,333"/>
<area shape="rect" id="node1_31" href="lldb.SBExecutionContext-class.html#GetFrame" title="GetFrame(SBExecutionContext self) &#45;&gt; SBFrame" alt="" coords="17,333,197,353"/>
<area shape="rect" id="node1" href="lldb.SBExecutionContext-class.html" title="Proxy of C++ lldb::SBExecutionContext class" alt="" coords="5,5,209,360"/>
</map>
  <img src="uml_class_diagram_for_lldb_sbe_3.gif" alt='' usemap="#uml_class_diagram_for_lldb_sbe_3" ismap="ismap" class="graph-without-title" />
</center>
</center>
<hr />
<p>Proxy of C++ lldb::SBExecutionContext class</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="lldb.SBExecutionContext-class.html#__setattr__" class="summary-sig-name">__setattr__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">name</span>,
        <span class="summary-sig-arg">value</span>)</span><br />
      x.__setattr__('name', value) &lt;==&gt; x.name = value</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="lldb-pysrc.html#SBExecutionContext.__setattr__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="__getattr__"></a><span class="summary-sig-name">__getattr__</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">name</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="lldb-pysrc.html#SBExecutionContext.__getattr__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="lldb.SBExecutionContext-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
      repr(x)</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="lldb-pysrc.html#_swig_repr">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="lldb.SBExecutionContext-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">*args</span>)</span><br />
      __init__(lldb::SBExecutionContext self) -&gt; SBExecutionContext 
      __init__(lldb::SBExecutionContext self, SBExecutionContext rhs) -&gt;
      SBExecutionContext __init__(lldb::SBExecutionContext self, SBTarget 
      target) -&gt; SBExecutionContext __init__(lldb::SBExecutionContext 
      self, SBProcess process) -&gt; SBExecutionContext 
      __init__(lldb::SBExecutionContext self, SBThread thread) -&gt; 
      SBExecutionContext __init__(lldb::SBExecutionContext self, SBFrame 
      frame) -&gt; SBExecutionContext</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="lldb-pysrc.html#SBExecutionContext.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="__swig_destroy__"></a><span class="summary-sig-name">__swig_destroy__</span>(<span class="summary-sig-arg">...</span>)</span><br />
      delete_SBExecutionContext(SBExecutionContext self)</td>
          <td align="right" valign="top">
            
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="__del__"></a><span class="summary-sig-name">__del__</span>(<span class="summary-sig-arg">self</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="lldb-pysrc.html#SBExecutionContext.__del__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="GetTarget"></a><span class="summary-sig-name">GetTarget</span>(<span class="summary-sig-arg">self</span>)</span><br />
      GetTarget(SBExecutionContext self) -&gt; SBTarget</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="lldb-pysrc.html#SBExecutionContext.GetTarget">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="GetProcess"></a><span class="summary-sig-name">GetProcess</span>(<span class="summary-sig-arg">self</span>)</span><br />
      GetProcess(SBExecutionContext self) -&gt; SBProcess</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="lldb-pysrc.html#SBExecutionContext.GetProcess">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="GetThread"></a><span class="summary-sig-name">GetThread</span>(<span class="summary-sig-arg">self</span>)</span><br />
      GetThread(SBExecutionContext self) -&gt; SBThread</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="lldb-pysrc.html#SBExecutionContext.GetThread">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="GetFrame"></a><span class="summary-sig-name">GetFrame</span>(<span class="summary-sig-arg">self</span>)</span><br />
      GetFrame(SBExecutionContext self) -&gt; SBFrame</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="lldb-pysrc.html#SBExecutionContext.GetFrame">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__format__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__sizeof__</code>,
      <code>__str__</code>,
      <code>__subclasshook__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Class Variables</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-ClassVariables"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="__swig_setmethods__"></a><span class="summary-name">__swig_setmethods__</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="__swig_getmethods__"></a><span class="summary-name">__swig_getmethods__</span> = <code title="{}">{}</code>
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Properties</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Properties"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="lldb.SBExecutionContext-class.html#frame" class="summary-name">frame</a><br />
      A read only property that returns the same result as GetFrame().
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="lldb.SBExecutionContext-class.html#process" class="summary-name">process</a><br />
      A read only property that returns the same result as GetProcess().
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="lldb.SBExecutionContext-class.html#target" class="summary-name">target</a><br />
      A read only property that returns the same result as GetTarget().
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="lldb.SBExecutionContext-class.html#thread" class="summary-name">thread</a><br />
      A read only property that returns the same result as GetThread().
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="__setattr__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__setattr__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">name</span>,
        <span class="sig-arg">value</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="lldb-pysrc.html#SBExecutionContext.__setattr__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>x.__setattr__('name', value) &lt;==&gt; x.name = value</p>
  <dl class="fields">
    <dt>Overrides:
        object.__setattr__
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="__repr__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
    <br /><em class="fname">(Representation operator)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="lldb-pysrc.html#_swig_repr">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>repr(x)</p>
  <dl class="fields">
    <dt>Overrides:
        object.__repr__
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">*args</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="lldb-pysrc.html#SBExecutionContext.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>__init__(lldb::SBExecutionContext self) -&gt; SBExecutionContext 
  __init__(lldb::SBExecutionContext self, SBExecutionContext rhs) -&gt; 
  SBExecutionContext __init__(lldb::SBExecutionContext self, SBTarget 
  target) -&gt; SBExecutionContext __init__(lldb::SBExecutionContext self, 
  SBProcess process) -&gt; SBExecutionContext 
  __init__(lldb::SBExecutionContext self, SBThread thread) -&gt; 
  SBExecutionContext __init__(lldb::SBExecutionContext self, SBFrame frame)
  -&gt; SBExecutionContext</p>
  <dl class="fields">
    <dt>Overrides:
        object.__init__
    </dt>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== PROPERTY DETAILS ==================== -->
<a name="section-PropertyDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Property Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-PropertyDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="frame"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">frame</h3>
  <p>A read only property that returns the same result as GetFrame().</p>
  <dl class="fields">
    <dt>Get Method:</dt>
    <dd class="value"><span class="summary-sig"><a href="lldb.SBExecutionContext-class.html#GetFrame" class="summary-sig-name">GetFrame</a>(<span class="summary-sig-arg">self</span>)</span>
        - GetFrame(SBExecutionContext self) -&gt; SBFrame
    </dd>
  </dl>
</td></tr></table>
</div>
<a name="process"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">process</h3>
  <p>A read only property that returns the same result as GetProcess().</p>
  <dl class="fields">
    <dt>Get Method:</dt>
    <dd class="value"><span class="summary-sig"><a href="lldb.SBExecutionContext-class.html#GetProcess" class="summary-sig-name">GetProcess</a>(<span class="summary-sig-arg">self</span>)</span>
        - GetProcess(SBExecutionContext self) -&gt; SBProcess
    </dd>
  </dl>
</td></tr></table>
</div>
<a name="target"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">target</h3>
  <p>A read only property that returns the same result as GetTarget().</p>
  <dl class="fields">
    <dt>Get Method:</dt>
    <dd class="value"><span class="summary-sig"><a href="lldb.SBExecutionContext-class.html#GetTarget" class="summary-sig-name">GetTarget</a>(<span class="summary-sig-arg">self</span>)</span>
        - GetTarget(SBExecutionContext self) -&gt; SBTarget
    </dd>
  </dl>
</td></tr></table>
</div>
<a name="thread"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">thread</h3>
  <p>A read only property that returns the same result as GetThread().</p>
  <dl class="fields">
    <dt>Get Method:</dt>
    <dd class="value"><span class="summary-sig"><a href="lldb.SBExecutionContext-class.html#GetThread" class="summary-sig-name">GetThread</a>(<span class="summary-sig-arg">self</span>)</span>
        - GetThread(SBExecutionContext self) -&gt; SBThread
    </dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://lldb.llvm.org">LLDB python API</a></th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Fri Oct 14 13:55:26 2016
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
