1 //===-- ThreadPlanRunToAddress.h --------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef liblldb_ThreadPlanRunToAddress_h_
11 #define liblldb_ThreadPlanRunToAddress_h_
17 // Other libraries and framework includes
19 #include "lldb/lldb-private.h"
20 #include "lldb/Target/ThreadPlan.h"
22 namespace lldb_private {
24 class ThreadPlanRunToAddress : public ThreadPlan
27 ThreadPlanRunToAddress (Thread &thread,
31 ThreadPlanRunToAddress (Thread &thread,
35 ThreadPlanRunToAddress (Thread &thread,
36 const std::vector<lldb::addr_t> &addresses,
41 ~ThreadPlanRunToAddress ();
44 GetDescription (Stream *s, lldb::DescriptionLevel level);
47 ValidatePlan (Stream *error);
50 ShouldStop (Event *event_ptr);
56 SetStopOthers (bool new_value);
58 virtual lldb::StateType
69 DoPlanExplainsStop (Event *event_ptr);
71 void SetInitialBreakpoints();
75 std::vector<lldb::addr_t> m_addresses; // This is the address we are going to run to.
76 // TODO: Would it be useful to have multiple addresses?
77 std::vector<lldb::break_id_t> m_break_ids; // This is the breakpoint we are using to stop us at m_address.
79 DISALLOW_COPY_AND_ASSIGN (ThreadPlanRunToAddress);
83 } // namespace lldb_private
85 #endif // liblldb_ThreadPlanRunToAddress_h_