10 #ifndef LLDB_SBProcess_h_
11 #define LLDB_SBProcess_h_
29 eBroadcastBitInterrupt = (1 << 1),
30 eBroadcastBitSTDOUT = (1 << 2),
31 eBroadcastBitSTDERR = (1 << 3),
32 eBroadcastBitProfileData = (1 << 4),
33 eBroadcastBitStructuredData = (1 << 5)};
41 SBProcess(
const lldb::ProcessSP &process_sp);
45 static const char *GetBroadcasterClassName();
47 const char *GetPluginName();
50 const char *GetShortPluginName();
58 lldb::ByteOrder GetByteOrder()
const;
60 size_t PutSTDIN(
const char *src,
size_t src_len);
62 size_t GetSTDOUT(
char *dst,
size_t dst_len)
const;
64 size_t GetSTDERR(
char *dst,
size_t dst_len)
const;
66 size_t GetAsyncProfileData(
char *dst,
size_t dst_len)
const;
68 void ReportEventState(
const lldb::SBEvent &event, FILE *out)
const;
78 bool RemoteAttachToProcessWithID(lldb::pid_t pid,
lldb::SBError &error);
80 bool RemoteLaunch(
char const **argv,
char const **envp,
81 const char *stdin_path,
const char *stdout_path,
82 const char *stderr_path,
const char *working_directory,
83 uint32_t launch_flags,
bool stop_at_entry,
89 uint32_t GetNumThreads();
105 lldb::SBThread CreateOSPluginThread(lldb::tid_t tid, lldb::addr_t context);
109 bool SetSelectedThreadByID(lldb::tid_t tid);
111 bool SetSelectedThreadByIndexID(uint32_t index_id);
116 uint32_t GetNumQueues();
124 lldb::StateType GetState();
128 const char *GetExitDescription();
144 lldb::pid_t GetProcessID();
159 uint32_t GetUniqueID();
161 uint32_t GetAddressByteSize()
const;
179 void SendAsyncInterrupt();
181 uint32_t GetStopID(
bool include_expression_stops =
false);
197 size_t ReadMemory(addr_t addr,
void *buf,
size_t size,
lldb::SBError &error);
199 size_t WriteMemory(addr_t addr,
const void *buf,
size_t size,
202 size_t ReadCStringFromMemory(addr_t addr,
void *buf,
size_t size,
205 uint64_t ReadUnsignedFromMemory(addr_t addr, uint32_t byte_size,
208 lldb::addr_t ReadPointerFromMemory(addr_t addr,
lldb::SBError &error);
211 static lldb::StateType GetStateFromEvent(
const lldb::SBEvent &event);
213 static bool GetRestartedFromEvent(
const lldb::SBEvent &event);
215 static size_t GetNumRestartedReasonsFromEvent(
const lldb::SBEvent &event);
218 GetRestartedReasonAtIndexFromEvent(
const lldb::SBEvent &event,
size_t idx);
222 static bool GetInterruptedFromEvent(
const lldb::SBEvent &event);
229 static bool EventIsStructuredDataEvent(
const lldb::SBEvent &event);
233 static const char *GetBroadcasterClass();
237 uint32_t GetNumSupportedHardwareWatchpoints(
lldb::SBError &error)
const;
305 uint32_t GetNumExtendedBacktraceTypes();
320 const char *GetExtendedBacktraceTypeAtIndex(uint32_t idx);
324 bool IsInstrumentationRuntimePresent(InstrumentationRuntimeType type);
368 friend class lldb_private::QueueImpl;
370 lldb::ProcessSP GetSP()
const;
372 void SetSP(
const lldb::ProcessSP &process_sp);
379 #endif // LLDB_SBProcess_h_
FLAGS_ANONYMOUS_ENUM()
Broadcaster event bits definitions.
lldb::ProcessWP m_opaque_wp