From 9e6d35490a6542f9c97607f93c2ef8ca8e03cbcc Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Wed, 6 Jan 2016 20:12:03 +0000 Subject: Vendor import of lldb trunk r256945: https://llvm.org/svn/llvm-project/lldb/trunk@256945 --- www/cpp_reference/html/SBThread_8h_source.html | 265 +++++++++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 www/cpp_reference/html/SBThread_8h_source.html (limited to 'www/cpp_reference/html/SBThread_8h_source.html') diff --git a/www/cpp_reference/html/SBThread_8h_source.html b/www/cpp_reference/html/SBThread_8h_source.html new file mode 100644 index 0000000000000..f8ff9c288d32f --- /dev/null +++ b/www/cpp_reference/html/SBThread_8h_source.html @@ -0,0 +1,265 @@ + + + + + +LLVM: SBThread.h Source File + + +

LLDB API Documentation

+ + + + + +
+
+
SBThread.h
+
+
+Go to the documentation of this file.
1 //===-- SBThread.h ----------------------------------------------*- C++ -*-===//
+
2 //
+
3 // The LLVM Compiler Infrastructure
+
4 //
+
5 // This file is distributed under the University of Illinois Open Source
+
6 // License. See LICENSE.TXT for details.
+
7 //
+
8 //===----------------------------------------------------------------------===//
+
9 
+
10 #ifndef LLDB_SBThread_h_
+
11 #define LLDB_SBThread_h_
+
12 
+
13 #include "lldb/API/SBDefines.h"
+
14 
+
15 #include <stdio.h>
+
16 
+
17 namespace lldb {
+
18 
+
19 class SBFrame;
+
20 
+
21 class SBThread
+
22 {
+
23 public:
+
24  enum
+
25  {
+ + + + + +
31  };
+
32 
+
33  static const char *
+ +
35 
+
36  SBThread ();
+
37 
+
38  SBThread (const lldb::SBThread &thread);
+
39 
+
40  SBThread (const lldb::ThreadSP& lldb_object_sp);
+
41 
+
42  ~SBThread();
+
43 
+
44  bool
+
45  IsValid() const;
+
46 
+
47  void
+
48  Clear ();
+
49 
+
50  lldb::StopReason
+
51  GetStopReason();
+
52 
+
53  /// Get the number of words associated with the stop reason.
+
54  /// See also GetStopReasonDataAtIndex().
+
55  size_t
+ +
57 
+
58  //--------------------------------------------------------------------------
+
59  /// Get information associated with a stop reason.
+
60  ///
+
61  /// Breakpoint stop reasons will have data that consists of pairs of
+
62  /// breakpoint IDs followed by the breakpoint location IDs (they always come
+
63  /// in pairs).
+
64  ///
+
65  /// Stop Reason Count Data Type
+
66  /// ======================== ===== =========================================
+
67  /// eStopReasonNone 0
+
68  /// eStopReasonTrace 0
+
69  /// eStopReasonBreakpoint N duple: {breakpoint id, location id}
+
70  /// eStopReasonWatchpoint 1 watchpoint id
+
71  /// eStopReasonSignal 1 unix signal number
+
72  /// eStopReasonException N exception data
+
73  /// eStopReasonExec 0
+
74  /// eStopReasonPlanComplete 0
+
75  //--------------------------------------------------------------------------
+
76  uint64_t
+
77  GetStopReasonDataAtIndex(uint32_t idx);
+
78 
+
79  size_t
+
80  GetStopDescription (char *dst, size_t dst_len);
+
81 
+
82  SBValue
+ +
84 
+
85  lldb::tid_t
+
86  GetThreadID () const;
+
87 
+
88  uint32_t
+
89  GetIndexID () const;
+
90 
+
91  const char *
+
92  GetName () const;
+
93 
+
94  const char *
+
95  GetQueueName() const;
+
96 
+
97  void
+
98  StepOver (lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
+
99 
+
100  void
+
101  StepInto (lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
+
102 
+
103  void
+
104  StepInto (const char *target_name, lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
+
105 
+
106  void
+
107  StepOut ();
+
108 
+
109  void
+
110  StepOutOfFrame (lldb::SBFrame &frame);
+
111 
+
112  void
+
113  StepInstruction(bool step_over);
+
114 
+
115  SBError
+
116  StepOverUntil (lldb::SBFrame &frame,
+
117  lldb::SBFileSpec &file_spec,
+
118  uint32_t line);
+
119 
+
120  void
+
121  RunToAddress (lldb::addr_t addr);
+
122 
+
123  SBError
+
124  ReturnFromFrame (SBFrame &frame, SBValue &return_value);
+
125 
+
126  //--------------------------------------------------------------------------
+
127  /// LLDB currently supports process centric debugging which means when any
+
128  /// thread in a process stops, all other threads are stopped. The Suspend()
+
129  /// call here tells our process to suspend a thread and not let it run when
+
130  /// the other threads in a process are allowed to run. So when
+
131  /// SBProcess::Continue() is called, any threads that aren't suspended will
+
132  /// be allowed to run. If any of the SBThread functions for stepping are
+
133  /// called (StepOver, StepInto, StepOut, StepInstruction, RunToAddres), the
+
134  /// thread will not be allowed to run and these funtions will simply return.
+
135  ///
+
136  /// Eventually we plan to add support for thread centric debugging where
+
137  /// each thread is controlled individually and each thread would broadcast
+
138  /// its state, but we haven't implemented this yet.
+
139  ///
+
140  /// Likewise the SBThread::Resume() call will again allow the thread to run
+
141  /// when the process is continued.
+
142  ///
+
143  /// Suspend() and Resume() functions are not currently reference counted, if
+
144  /// anyone has the need for them to be reference counted, please let us
+
145  /// know.
+
146  //--------------------------------------------------------------------------
+
147  bool
+
148  Suspend();
+
149 
+
150  bool
+
151  Resume ();
+
152 
+
153  bool
+
154  IsSuspended();
+
155 
+
156  bool
+
157  IsStopped();
+
158 
+
159  uint32_t
+
160  GetNumFrames ();
+
161 
+ +
163  GetFrameAtIndex (uint32_t idx);
+
164 
+ +
166  GetSelectedFrame ();
+
167 
+ +
169  SetSelectedFrame (uint32_t frame_idx);
+
170 
+
171  static bool
+
172  EventIsThreadEvent (const SBEvent &event);
+
173 
+
174  static SBFrame
+
175  GetStackFrameFromEvent (const SBEvent &event);
+
176 
+
177  static SBThread
+
178  GetThreadFromEvent (const SBEvent &event);
+
179 
+ +
181  GetProcess ();
+
182 
+
183  const lldb::SBThread &
+
184  operator = (const lldb::SBThread &rhs);
+
185 
+
186  bool
+
187  operator == (const lldb::SBThread &rhs) const;
+
188 
+
189  bool
+
190  operator != (const lldb::SBThread &rhs) const;
+
191 
+
192  bool
+
193  GetDescription (lldb::SBStream &description) const;
+
194 
+
195  bool
+
196  GetStatus (lldb::SBStream &status) const;
+
197 
+
198 protected:
+
199  friend class SBBreakpoint;
+
200  friend class SBBreakpointLocation;
+
201  friend class SBFrame;
+
202  friend class SBProcess;
+
203  friend class SBDebugger;
+
204  friend class SBValue;
+
205 
+
206  void
+
207  SetThread (const lldb::ThreadSP& lldb_object_sp);
+
208 
+
209 #ifndef SWIG
+
210  SBError
+
211  ResumeNewPlan (lldb_private::ExecutionContext &exe_ctx, lldb_private::ThreadPlan *new_plan);
+
212 #endif
+
213 
+
214 private:
+
215  lldb::ExecutionContextRefSP m_opaque_sp;
+
216 };
+
217 
+
218 } // namespace lldb
+
219 
+
220 #endif // LLDB_SBThread_h_
+
+
+ +
+ + + -- cgit v1.2.3