SBThread.i revision a17a81a1a9ff6b8d87c4a1e47dd874f6ea8a4f1d
1c3fba812b636dcdede81be622d557efbdc834240Johnny Chen//===-- SWIG Interface for SBThread -----------------------------*- C++ -*-===// 2c3fba812b636dcdede81be622d557efbdc834240Johnny Chen// 3c3fba812b636dcdede81be622d557efbdc834240Johnny Chen// The LLVM Compiler Infrastructure 4c3fba812b636dcdede81be622d557efbdc834240Johnny Chen// 5c3fba812b636dcdede81be622d557efbdc834240Johnny Chen// This file is distributed under the University of Illinois Open Source 6c3fba812b636dcdede81be622d557efbdc834240Johnny Chen// License. See LICENSE.TXT for details. 7c3fba812b636dcdede81be622d557efbdc834240Johnny Chen// 8c3fba812b636dcdede81be622d557efbdc834240Johnny Chen//===----------------------------------------------------------------------===// 9c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 10c3fba812b636dcdede81be622d557efbdc834240Johnny Chennamespace lldb { 11c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 12c3fba812b636dcdede81be622d557efbdc834240Johnny Chen%feature("docstring", 13c3fba812b636dcdede81be622d557efbdc834240Johnny Chen"Represents a thread of execution. SBProcess contains SBThread(s). 14c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 15efbdd2280873cc87634bf4f4a37ab8b99662522aJim InghamSBThreads can be referred to by their ID, which maps to the system specific thread 16efbdd2280873cc87634bf4f4a37ab8b99662522aJim Inghamidentifier, or by IndexID. The ID may or may not be unique depending on whether the 17efbdd2280873cc87634bf4f4a37ab8b99662522aJim Inghamsystem reuses its thread identifiers. The IndexID is a monotonically increasing identifier 18efbdd2280873cc87634bf4f4a37ab8b99662522aJim Inghamthat will always uniquely reference a particular thread, and when that thread goes 19efbdd2280873cc87634bf4f4a37ab8b99662522aJim Inghamaway it will not be reused. 20efbdd2280873cc87634bf4f4a37ab8b99662522aJim Ingham 21c3fba812b636dcdede81be622d557efbdc834240Johnny ChenSBThread supports frame iteration. For example (from test/python_api/ 22c3fba812b636dcdede81be622d557efbdc834240Johnny Chenlldbutil/iter/TestLLDBIterator.py), 23c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 24c3fba812b636dcdede81be622d557efbdc834240Johnny Chen from lldbutil import print_stacktrace 25c3fba812b636dcdede81be622d557efbdc834240Johnny Chen stopped_due_to_breakpoint = False 26c3fba812b636dcdede81be622d557efbdc834240Johnny Chen for thread in process: 27c3fba812b636dcdede81be622d557efbdc834240Johnny Chen if self.TraceOn(): 28c3fba812b636dcdede81be622d557efbdc834240Johnny Chen print_stacktrace(thread) 29c3fba812b636dcdede81be622d557efbdc834240Johnny Chen ID = thread.GetThreadID() 30c3fba812b636dcdede81be622d557efbdc834240Johnny Chen if thread.GetStopReason() == lldb.eStopReasonBreakpoint: 31c3fba812b636dcdede81be622d557efbdc834240Johnny Chen stopped_due_to_breakpoint = True 32c3fba812b636dcdede81be622d557efbdc834240Johnny Chen for frame in thread: 33c3fba812b636dcdede81be622d557efbdc834240Johnny Chen self.assertTrue(frame.GetThread().GetThreadID() == ID) 34c3fba812b636dcdede81be622d557efbdc834240Johnny Chen if self.TraceOn(): 35c3fba812b636dcdede81be622d557efbdc834240Johnny Chen print frame 36c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 37c3fba812b636dcdede81be622d557efbdc834240Johnny Chen self.assertTrue(stopped_due_to_breakpoint) 38c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 39c3fba812b636dcdede81be622d557efbdc834240Johnny ChenSee also SBProcess and SBFrame." 40c3fba812b636dcdede81be622d557efbdc834240Johnny Chen) SBThread; 41c3fba812b636dcdede81be622d557efbdc834240Johnny Chenclass SBThread 42c3fba812b636dcdede81be622d557efbdc834240Johnny Chen{ 43c3fba812b636dcdede81be622d557efbdc834240Johnny Chenpublic: 44c3fba812b636dcdede81be622d557efbdc834240Johnny Chen SBThread (); 45c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 46c3fba812b636dcdede81be622d557efbdc834240Johnny Chen SBThread (const lldb::SBThread &thread); 47c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 48c3fba812b636dcdede81be622d557efbdc834240Johnny Chen ~SBThread(); 49c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 50c3fba812b636dcdede81be622d557efbdc834240Johnny Chen bool 51c3fba812b636dcdede81be622d557efbdc834240Johnny Chen IsValid() const; 52c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 53c3fba812b636dcdede81be622d557efbdc834240Johnny Chen void 54c3fba812b636dcdede81be622d557efbdc834240Johnny Chen Clear (); 55c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 56c3fba812b636dcdede81be622d557efbdc834240Johnny Chen lldb::StopReason 57c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetStopReason(); 58c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 59c3fba812b636dcdede81be622d557efbdc834240Johnny Chen %feature("docstring", " 60c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// Get the number of words associated with the stop reason. 61c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// See also GetStopReasonDataAtIndex(). 62c3fba812b636dcdede81be622d557efbdc834240Johnny Chen ") GetStopReasonDataCount; 63c3fba812b636dcdede81be622d557efbdc834240Johnny Chen size_t 64c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetStopReasonDataCount(); 65c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 66c3fba812b636dcdede81be622d557efbdc834240Johnny Chen %feature("docstring", " 67c3fba812b636dcdede81be622d557efbdc834240Johnny Chen //-------------------------------------------------------------------------- 68c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// Get information associated with a stop reason. 69c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// 70c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// Breakpoint stop reasons will have data that consists of pairs of 71c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// breakpoint IDs followed by the breakpoint location IDs (they always come 72c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// in pairs). 73c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// 74c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// Stop Reason Count Data Type 75c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// ======================== ===== ========================================= 76c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// eStopReasonNone 0 77c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// eStopReasonTrace 0 78c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// eStopReasonBreakpoint N duple: {breakpoint id, location id} 79bcbefa8de7877c5d0674d5816cf96db48b103e6fJohnny Chen /// eStopReasonWatchpoint 1 watchpoint id 80c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// eStopReasonSignal 1 unix signal number 81c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// eStopReasonException N exception data 82c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// eStopReasonPlanComplete 0 83c3fba812b636dcdede81be622d557efbdc834240Johnny Chen //-------------------------------------------------------------------------- 84c3fba812b636dcdede81be622d557efbdc834240Johnny Chen ") GetStopReasonDataAtIndex; 85c3fba812b636dcdede81be622d557efbdc834240Johnny Chen uint64_t 86c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetStopReasonDataAtIndex(uint32_t idx); 87c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 8865f4fb01ed41075a3efe9d2b5a337e5a8fe7f006Johnny Chen %feature("autodoc", " 8965f4fb01ed41075a3efe9d2b5a337e5a8fe7f006Johnny Chen Pass only an (int)length and expect to get a Python string describing the 9065f4fb01ed41075a3efe9d2b5a337e5a8fe7f006Johnny Chen stop reason. 9165f4fb01ed41075a3efe9d2b5a337e5a8fe7f006Johnny Chen ") GetStopDescription; 92c3fba812b636dcdede81be622d557efbdc834240Johnny Chen size_t 93c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetStopDescription (char *dst, size_t dst_len); 94c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 951586d9720002e407a3a097baf302de5fa4ca9c1bJim Ingham SBValue 961586d9720002e407a3a097baf302de5fa4ca9c1bJim Ingham GetStopReturnValue (); 971586d9720002e407a3a097baf302de5fa4ca9c1bJim Ingham 98c3fba812b636dcdede81be622d557efbdc834240Johnny Chen lldb::tid_t 99c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetThreadID () const; 100c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 101c3fba812b636dcdede81be622d557efbdc834240Johnny Chen uint32_t 102c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetIndexID () const; 103c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 104c3fba812b636dcdede81be622d557efbdc834240Johnny Chen const char * 105c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetName () const; 106c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 107c3fba812b636dcdede81be622d557efbdc834240Johnny Chen const char * 108c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetQueueName() const; 109c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 110c3fba812b636dcdede81be622d557efbdc834240Johnny Chen void 111c3fba812b636dcdede81be622d557efbdc834240Johnny Chen StepOver (lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping); 112c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 113c3fba812b636dcdede81be622d557efbdc834240Johnny Chen void 114c3fba812b636dcdede81be622d557efbdc834240Johnny Chen StepInto (lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping); 115c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 116c3fba812b636dcdede81be622d557efbdc834240Johnny Chen void 117c3fba812b636dcdede81be622d557efbdc834240Johnny Chen StepOut (); 118c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 119c3fba812b636dcdede81be622d557efbdc834240Johnny Chen void 120c3fba812b636dcdede81be622d557efbdc834240Johnny Chen StepOutOfFrame (lldb::SBFrame &frame); 121c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 122c3fba812b636dcdede81be622d557efbdc834240Johnny Chen void 123c3fba812b636dcdede81be622d557efbdc834240Johnny Chen StepInstruction(bool step_over); 124c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 125c3fba812b636dcdede81be622d557efbdc834240Johnny Chen SBError 126c3fba812b636dcdede81be622d557efbdc834240Johnny Chen StepOverUntil (lldb::SBFrame &frame, 127c3fba812b636dcdede81be622d557efbdc834240Johnny Chen lldb::SBFileSpec &file_spec, 128c3fba812b636dcdede81be622d557efbdc834240Johnny Chen uint32_t line); 129c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 130c3fba812b636dcdede81be622d557efbdc834240Johnny Chen void 131c3fba812b636dcdede81be622d557efbdc834240Johnny Chen RunToAddress (lldb::addr_t addr); 132c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 133a17a81a1a9ff6b8d87c4a1e47dd874f6ea8a4f1dJim Ingham SBError 134a17a81a1a9ff6b8d87c4a1e47dd874f6ea8a4f1dJim Ingham ReturnToFrame (SBFrame &frame, SBValue &return_value); 135a17a81a1a9ff6b8d87c4a1e47dd874f6ea8a4f1dJim Ingham 136c3fba812b636dcdede81be622d557efbdc834240Johnny Chen %feature("docstring", " 137c3fba812b636dcdede81be622d557efbdc834240Johnny Chen //-------------------------------------------------------------------------- 138c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// LLDB currently supports process centric debugging which means when any 139c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// thread in a process stops, all other threads are stopped. The Suspend() 140c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// call here tells our process to suspend a thread and not let it run when 141c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// the other threads in a process are allowed to run. So when 142c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// SBProcess::Continue() is called, any threads that aren't suspended will 143c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// be allowed to run. If any of the SBThread functions for stepping are 144c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// called (StepOver, StepInto, StepOut, StepInstruction, RunToAddres), the 145c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// thread will now be allowed to run and these funtions will simply return. 146c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// 147c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// Eventually we plan to add support for thread centric debugging where 148c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// each thread is controlled individually and each thread would broadcast 149c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// its state, but we haven't implemented this yet. 150c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// 151c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// Likewise the SBThread::Resume() call will again allow the thread to run 152c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// when the process is continued. 153c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// 154c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// Suspend() and Resume() functions are not currently reference counted, if 155c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// anyone has the need for them to be reference counted, please let us 156c3fba812b636dcdede81be622d557efbdc834240Johnny Chen /// know. 157c3fba812b636dcdede81be622d557efbdc834240Johnny Chen //-------------------------------------------------------------------------- 158c3fba812b636dcdede81be622d557efbdc834240Johnny Chen ") Suspend; 159c3fba812b636dcdede81be622d557efbdc834240Johnny Chen bool 160c3fba812b636dcdede81be622d557efbdc834240Johnny Chen Suspend(); 161c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 162c3fba812b636dcdede81be622d557efbdc834240Johnny Chen bool 163c3fba812b636dcdede81be622d557efbdc834240Johnny Chen Resume (); 164c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 165c3fba812b636dcdede81be622d557efbdc834240Johnny Chen bool 166c3fba812b636dcdede81be622d557efbdc834240Johnny Chen IsSuspended(); 167c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 168c3fba812b636dcdede81be622d557efbdc834240Johnny Chen uint32_t 169c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetNumFrames (); 170c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 171c3fba812b636dcdede81be622d557efbdc834240Johnny Chen lldb::SBFrame 172c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetFrameAtIndex (uint32_t idx); 173c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 174c3fba812b636dcdede81be622d557efbdc834240Johnny Chen lldb::SBFrame 175c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetSelectedFrame (); 176c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 177c3fba812b636dcdede81be622d557efbdc834240Johnny Chen lldb::SBFrame 178c3fba812b636dcdede81be622d557efbdc834240Johnny Chen SetSelectedFrame (uint32_t frame_idx); 179c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 180c3fba812b636dcdede81be622d557efbdc834240Johnny Chen lldb::SBProcess 181c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetProcess (); 182c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 183c3fba812b636dcdede81be622d557efbdc834240Johnny Chen bool 184c3fba812b636dcdede81be622d557efbdc834240Johnny Chen GetDescription (lldb::SBStream &description) const; 1851b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 1861b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton %pythoncode %{ 187b6a5ba60e326e695ce8996b513f46dee8c3368cdGreg Clayton class frames_access(object): 188b302dffacdadeef509d28133a4c66299418122f8Greg Clayton '''A helper object that will lazily hand out frames for a thread when supplied an index.''' 189b302dffacdadeef509d28133a4c66299418122f8Greg Clayton def __init__(self, sbthread): 190b302dffacdadeef509d28133a4c66299418122f8Greg Clayton self.sbthread = sbthread 191b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 192b302dffacdadeef509d28133a4c66299418122f8Greg Clayton def __len__(self): 193b302dffacdadeef509d28133a4c66299418122f8Greg Clayton if self.sbthread: 1943cae38bc36877dbe1504c6fa2dedbcab71fe5780Filipe Cabecinhas return int(self.sbthread.GetNumFrames()) 195b302dffacdadeef509d28133a4c66299418122f8Greg Clayton return 0 196b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 197b302dffacdadeef509d28133a4c66299418122f8Greg Clayton def __getitem__(self, key): 198b302dffacdadeef509d28133a4c66299418122f8Greg Clayton if type(key) is int and key < self.sbthread.GetNumFrames(): 199b302dffacdadeef509d28133a4c66299418122f8Greg Clayton return self.sbthread.GetFrameAtIndex(key) 200b302dffacdadeef509d28133a4c66299418122f8Greg Clayton return None 201b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 202b6a5ba60e326e695ce8996b513f46dee8c3368cdGreg Clayton def get_frames_access_object(self): 203b6a5ba60e326e695ce8996b513f46dee8c3368cdGreg Clayton '''An accessor function that returns a frames_access() object which allows lazy frame access from a lldb.SBThread object.''' 204b6a5ba60e326e695ce8996b513f46dee8c3368cdGreg Clayton return self.frames_access (self) 205b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 206394da8e3d59e49ce3a02e6b287ccfc6f568c19a9Greg Clayton def get_thread_frames(self): 207b6a5ba60e326e695ce8996b513f46dee8c3368cdGreg Clayton '''An accessor function that returns a list() that contains all frames in a lldb.SBThread object.''' 208394da8e3d59e49ce3a02e6b287ccfc6f568c19a9Greg Clayton frames = [] 209394da8e3d59e49ce3a02e6b287ccfc6f568c19a9Greg Clayton for frame in self: 210394da8e3d59e49ce3a02e6b287ccfc6f568c19a9Greg Clayton frames.append(frame) 211394da8e3d59e49ce3a02e6b287ccfc6f568c19a9Greg Clayton return frames 212b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 2131b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["id"] = GetThreadID 2142a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: id = property(GetThreadID, None, doc='''A read only property that returns the thread ID as an integer.''') 2151b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 2161b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["idx"] = GetIndexID 2172a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: idx = property(GetIndexID, None, doc='''A read only property that returns the thread index ID as an integer. Thread index ID values start at 1 and increment as threads come and go and can be used to uniquely identify threads.''') 2181b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 2191b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["return_value"] = GetStopReturnValue 2202a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: return_value = property(GetStopReturnValue, None, doc='''A read only property that returns an lldb object that represents the return value from the last stop (lldb.SBValue) if we just stopped due to stepping out of a function.''') 2211b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 2221b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["process"] = GetProcess 2232a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: process = property(GetProcess, None, doc='''A read only property that returns an lldb object that represents the process (lldb.SBProcess) that owns this thread.''') 2241b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 2251b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["num_frames"] = GetNumFrames 2262a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: num_frames = property(GetNumFrames, None, doc='''A read only property that returns the number of stack frames in this thread as an integer.''') 2271b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 228394da8e3d59e49ce3a02e6b287ccfc6f568c19a9Greg Clayton __swig_getmethods__["frames"] = get_thread_frames 2292a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: frames = property(get_thread_frames, None, doc='''A read only property that returns a list() of lldb.SBFrame objects for all frames in this thread.''') 230394da8e3d59e49ce3a02e6b287ccfc6f568c19a9Greg Clayton 231b6a5ba60e326e695ce8996b513f46dee8c3368cdGreg Clayton __swig_getmethods__["frame"] = get_frames_access_object 2322a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: frame = property(get_frames_access_object, None, doc='''A read only property that returns an object that can be used to access frames as an array ("frame_12 = lldb.thread.frame[12]").''') 233b302dffacdadeef509d28133a4c66299418122f8Greg Clayton 2341b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["name"] = GetName 2352a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: name = property(GetName, None, doc='''A read only property that returns the name of this thread as a string.''') 2361b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 2371b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["queue"] = GetQueueName 2382a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: queue = property(GetQueueName, None, doc='''A read only property that returns the dispatch queue name of this thread as a string.''') 2391b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 2401b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["stop_reason"] = GetStopReason 2412a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: stop_reason = property(GetStopReason, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eStopReason") that represents the reason this thread stopped.''') 2421b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 2431b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["is_suspended"] = IsSuspended 2442a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: is_suspended = property(IsSuspended, None, doc='''A read only property that returns a boolean value that indicates if this thread is suspended.''') 2451b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton %} 2461b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 247c3fba812b636dcdede81be622d557efbdc834240Johnny Chen}; 248c3fba812b636dcdede81be622d557efbdc834240Johnny Chen 249c3fba812b636dcdede81be622d557efbdc834240Johnny Chen} // namespace lldb 250