ThreadPlanCallFunction.h (258054) | ThreadPlanCallFunction.h (258884) |
---|---|
1//===-- ThreadPlanCallFunction.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//===----------------------------------------------------------------------===// --- 4 unchanged lines hidden (view full) --- 13// C Includes 14// C++ Includes 15// Other libraries and framework includes 16// Project includes 17#include "lldb/lldb-private.h" 18#include "lldb/Target/Thread.h" 19#include "lldb/Target/ThreadPlan.h" 20 | 1//===-- ThreadPlanCallFunction.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//===----------------------------------------------------------------------===// --- 4 unchanged lines hidden (view full) --- 13// C Includes 14// C++ Includes 15// Other libraries and framework includes 16// Project includes 17#include "lldb/lldb-private.h" 18#include "lldb/Target/Thread.h" 19#include "lldb/Target/ThreadPlan.h" 20 |
21#include "llvm/ADT/ArrayRef.h" 22 |
|
21namespace lldb_private { 22 23class ThreadPlanCallFunction : public ThreadPlan 24{ 25 // Create a thread plan to call a function at the address passed in the "function" 26 // argument. If you plan to call GetReturnValueObject, then pass in the 27 // return type, otherwise just pass in an invalid ClangASTType. 28public: 29 ThreadPlanCallFunction (Thread &thread, 30 const Address &function, 31 const ClangASTType &return_type, | 23namespace lldb_private { 24 25class ThreadPlanCallFunction : public ThreadPlan 26{ 27 // Create a thread plan to call a function at the address passed in the "function" 28 // argument. If you plan to call GetReturnValueObject, then pass in the 29 // return type, otherwise just pass in an invalid ClangASTType. 30public: 31 ThreadPlanCallFunction (Thread &thread, 32 const Address &function, 33 const ClangASTType &return_type, |
32 lldb::addr_t arg, 33 bool stop_other_threads, 34 bool unwind_on_error = true, 35 bool ignore_breakpoints = false, 36 lldb::addr_t *this_arg = 0, 37 lldb::addr_t *cmd_arg = 0); | 34 llvm::ArrayRef<lldb::addr_t> args, 35 const EvaluateExpressionOptions &options); |
38 | 36 |
39 ThreadPlanCallFunction (Thread &thread, 40 const Address &function, 41 const ClangASTType &return_type, 42 bool stop_other_threads, 43 bool unwind_on_error, 44 bool ignore_breakpoints, 45 lldb::addr_t *arg1_ptr = NULL, 46 lldb::addr_t *arg2_ptr = NULL, 47 lldb::addr_t *arg3_ptr = NULL, 48 lldb::addr_t *arg4_ptr = NULL, 49 lldb::addr_t *arg5_ptr = NULL, 50 lldb::addr_t *arg6_ptr = NULL); 51 | |
52 virtual 53 ~ThreadPlanCallFunction (); 54 55 virtual void 56 GetDescription (Stream *s, lldb::DescriptionLevel level); 57 58 virtual bool 59 ValidatePlan (Stream *error); --- 106 unchanged lines hidden (view full) --- 166 void 167 ClearBreakpoints (); 168 169 bool 170 BreakpointsExplainStop (); 171 172 bool m_valid; 173 bool m_stop_other_threads; | 37 virtual 38 ~ThreadPlanCallFunction (); 39 40 virtual void 41 GetDescription (Stream *s, lldb::DescriptionLevel level); 42 43 virtual bool 44 ValidatePlan (Stream *error); --- 106 unchanged lines hidden (view full) --- 151 void 152 ClearBreakpoints (); 153 154 bool 155 BreakpointsExplainStop (); 156 157 bool m_valid; 158 bool m_stop_other_threads; |
159 bool m_unwind_on_error; 160 bool m_ignore_breakpoints; 161 bool m_debug_execution; 162 bool m_trap_exceptions; |
|
174 Address m_function_addr; 175 Address m_start_addr; 176 lldb::addr_t m_function_sp; | 163 Address m_function_addr; 164 Address m_start_addr; 165 lldb::addr_t m_function_sp; |
177 Thread::RegisterCheckpoint m_register_backup; | |
178 lldb::ThreadPlanSP m_subplan_sp; 179 LanguageRuntime *m_cxx_language_runtime; 180 LanguageRuntime *m_objc_language_runtime; 181 Thread::ThreadStateCheckpoint m_stored_thread_state; 182 lldb::StopInfoSP m_real_stop_info_sp; // In general we want to hide call function 183 // thread plans, but for reporting purposes, 184 // it's nice to know the real stop reason. 185 // This gets set in DoTakedown. 186 StreamString m_constructor_errors; 187 ClangASTType m_return_type; 188 lldb::ValueObjectSP m_return_valobj_sp; // If this contains a valid pointer, use the ABI to extract values when complete 189 bool m_takedown_done; // We want to ensure we only do the takedown once. This ensures that. | 166 lldb::ThreadPlanSP m_subplan_sp; 167 LanguageRuntime *m_cxx_language_runtime; 168 LanguageRuntime *m_objc_language_runtime; 169 Thread::ThreadStateCheckpoint m_stored_thread_state; 170 lldb::StopInfoSP m_real_stop_info_sp; // In general we want to hide call function 171 // thread plans, but for reporting purposes, 172 // it's nice to know the real stop reason. 173 // This gets set in DoTakedown. 174 StreamString m_constructor_errors; 175 ClangASTType m_return_type; 176 lldb::ValueObjectSP m_return_valobj_sp; // If this contains a valid pointer, use the ABI to extract values when complete 177 bool m_takedown_done; // We want to ensure we only do the takedown once. This ensures that. |
178 bool m_should_clear_objc_exception_bp; 179 bool m_should_clear_cxx_exception_bp; |
|
190 lldb::addr_t m_stop_address; // This is the address we stopped at. Also set in DoTakedown; | 180 lldb::addr_t m_stop_address; // This is the address we stopped at. Also set in DoTakedown; |
191 bool m_unwind_on_error; 192 bool m_ignore_breakpoints; | |
193 194 DISALLOW_COPY_AND_ASSIGN (ThreadPlanCallFunction); 195}; 196 197} // namespace lldb_private 198 199#endif // liblldb_ThreadPlanCallFunction_h_ | 181 182 DISALLOW_COPY_AND_ASSIGN (ThreadPlanCallFunction); 183}; 184 185} // namespace lldb_private 186 187#endif // liblldb_ThreadPlanCallFunction_h_ |