LLDB mainline
|
#include <Process.h>
Public Member Functions | |
ProcessEventData () | |
ProcessEventData (const lldb::ProcessSP &process, lldb::StateType state) | |
~ProcessEventData () override | |
llvm::StringRef | GetFlavor () const override |
lldb::ProcessSP | GetProcessSP () const |
lldb::StateType | GetState () const |
bool | GetRestarted () const |
size_t | GetNumRestartedReasons () |
const char * | GetRestartedReasonAtIndex (size_t idx) |
bool | GetInterrupted () const |
void | Dump (Stream *s) const override |
virtual bool | ShouldStop (Event *event_ptr, bool &found_valid_stopinfo) |
void | DoOnRemoval (Event *event_ptr) override |
Public Member Functions inherited from lldb_private::EventData | |
EventData () | |
virtual | ~EventData () |
virtual llvm::StringRef | GetFlavor () const =0 |
virtual Log * | GetLogChannel () |
virtual void | Dump (Stream *s) const |
Static Public Member Functions | |
static llvm::StringRef | GetFlavorString () |
static const Process::ProcessEventData * | GetEventDataFromEvent (const Event *event_ptr) |
static lldb::ProcessSP | GetProcessFromEvent (const Event *event_ptr) |
static lldb::StateType | GetStateFromEvent (const Event *event_ptr) |
static bool | GetRestartedFromEvent (const Event *event_ptr) |
static size_t | GetNumRestartedReasons (const Event *event_ptr) |
static const char * | GetRestartedReasonAtIndex (const Event *event_ptr, size_t idx) |
static void | AddRestartedReason (Event *event_ptr, const char *reason) |
static void | SetRestartedInEvent (Event *event_ptr, bool new_value) |
static bool | GetInterruptedFromEvent (const Event *event_ptr) |
static void | SetInterruptedInEvent (Event *event_ptr, bool new_value) |
static bool | SetUpdateStateOnRemoval (Event *event_ptr) |
Private Member Functions | |
bool | ForwardEventToPendingListeners (Event *event_ptr) override |
This will be queried for a Broadcaster with a primary and some secondary listeners after the primary listener pulled the event from the event queue and ran its DoOnRemoval, right before the event is delivered. | |
void | SetUpdateStateOnRemoval () |
void | SetRestarted (bool new_value) |
void | SetInterrupted (bool new_value) |
void | AddRestartedReason (const char *reason) |
ProcessEventData (const ProcessEventData &)=delete | |
const ProcessEventData & | operator= (const ProcessEventData &)=delete |
Private Attributes | |
lldb::ProcessWP | m_process_wp |
lldb::StateType | m_state = lldb::eStateInvalid |
std::vector< std::string > | m_restarted_reasons |
bool | m_restarted = false |
int | m_update_state = 0 |
bool | m_interrupted = false |
Friends | |
class | Process |
Process::ProcessEventData::ProcessEventData | ( | ) |
Definition at line 4154 of file Process.cpp.
Process::ProcessEventData::ProcessEventData | ( | const lldb::ProcessSP & | process, |
lldb::StateType | state | ||
) |
Definition at line 4156 of file Process.cpp.
References m_process_wp.
|
overridedefault |
|
privatedelete |
|
inlineprivate |
Definition at line 476 of file Process.h.
References m_restarted_reasons.
|
static |
Definition at line 4429 of file Process.cpp.
References AddRestartedReason().
Referenced by AddRestartedReason(), and lldb_private::StopInfoUnixSignal::DoShouldNotify().
|
overridevirtual |
Reimplemented from lldb_private::EventData.
Definition at line 4280 of file Process.cpp.
References lldb_private::Process::eBroadcastBitStateChanged, lldb::eStateStopped, GetRestartedFromEvent(), and lldb_private::Event::GetType().
|
overridevirtual |
Reimplemented from lldb_private::EventData.
Definition at line 4352 of file Process.cpp.
References lldb_private::Process::GetState(), lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), and lldb_private::StateAsCString().
|
overrideprivatevirtual |
This will be queried for a Broadcaster with a primary and some secondary listeners after the primary listener pulled the event from the event queue and ran its DoOnRemoval, right before the event is delivered.
If it returns true, the event will also be forwarded to the secondary listeners, and if false, event propagation stops at the primary listener. Some broadcasters (particularly the Process broadcaster) fetch events on a private Listener, and then forward the event to the Public Listeners after some processing. The Process broadcaster does not want to forward to the secondary listeners at the private processing stage.
Reimplemented from lldb_private::EventData.
Definition at line 4269 of file Process.cpp.
References lldb_private::Process::eBroadcastBitStateChanged, and lldb_private::Event::GetType().
|
static |
Definition at line 4365 of file Process.cpp.
References lldb_private::Event::GetData(), lldb_private::EventData::GetFlavor(), and GetFlavorString().
Referenced by lldb::SBProcess::EventIsProcessEvent(), and lldb_private::Process::RunThreadPlan().
|
overridevirtual |
Implements lldb_private::EventData.
Definition at line 4169 of file Process.cpp.
References GetFlavorString().
|
static |
Definition at line 4165 of file Process.cpp.
Referenced by GetEventDataFromEvent(), and GetFlavor().
|
inline |
Definition at line 435 of file Process.h.
References m_interrupted.
Referenced by GetInterruptedFromEvent().
|
static |
Definition at line 4437 of file Process.cpp.
References GetInterrupted().
Referenced by lldb_private::ThreadPlanCallFunction::DoPlanExplainsStop(), lldb::SBProcess::GetInterruptedFromEvent(), HandleStoppedEvent(), lldb_private::Process::RunThreadPlan(), lldb_private::Process::ShouldBroadcastEvent(), and lldb_private::ThreadList::ShouldStop().
|
inline |
Definition at line 427 of file Process.h.
References m_restarted_reasons.
Referenced by GetNumRestartedReasons(), lldb::SBProcess::GetNumRestartedReasonsFromEvent(), and lldb_private::Process::HandleProcessStateChangedEvent().
|
static |
Definition at line 4409 of file Process.cpp.
References GetNumRestartedReasons().
Definition at line 4376 of file Process.cpp.
References GetProcessSP().
Referenced by lldb::SBProcess::GetProcessFromEvent(), lldb_private::Debugger::HandleProcessEvent(), and lldb_private::Process::HandleProcessStateChangedEvent().
|
inline |
Definition at line 422 of file Process.h.
References m_process_wp.
Referenced by GetProcessFromEvent(), and lldb_private::Process::RunThreadPlan().
|
inline |
Definition at line 425 of file Process.h.
References m_restarted.
Referenced by GetRestartedFromEvent().
|
static |
Definition at line 4392 of file Process.cpp.
References GetRestarted().
Referenced by DoOnRemoval(), lldb::SBProcess::GetRestartedFromEvent(), lldb_private::ThreadPlanSingleThreadTimeout::HandleEvent(), lldb_private::Process::HandlePrivateEvent(), lldb_private::Process::HandleProcessStateChangedEvent(), lldb_private::Process::RunThreadPlan(), lldb_private::Process::ShouldBroadcastEvent(), lldb_private::Thread::ShouldStop(), and lldb_private::Process::WaitForProcessToStop().
|
static |
Definition at line 4419 of file Process.cpp.
References GetRestartedReasonAtIndex().
|
inline |
Definition at line 429 of file Process.h.
References m_restarted_reasons.
Referenced by GetRestartedReasonAtIndex(), lldb::SBProcess::GetRestartedReasonAtIndexFromEvent(), and lldb_private::Process::HandleProcessStateChangedEvent().
|
inline |
Definition at line 4384 of file Process.cpp.
References lldb::eStateInvalid, and GetState().
Referenced by lldb_private::Process::GetNextEvent(), lldb_private::Process::GetStateChangedEvents(), lldb_private::Process::GetStateChangedEventsPrivate(), lldb::SBProcess::GetStateFromEvent(), lldb_private::Process::HandlePrivateEvent(), lldb_private::Debugger::HandleProcessEvent(), lldb_private::Process::HandleProcessStateChangedEvent(), lldb_private::ThreadPlanSingleThreadTimeout::IsTimeoutAsyncInterrupt(), lldb_private::Process::PeekAtStateChangedEvents(), lldb_private::Process::AttachCompletionHandler::PerformAction(), lldb_private::Process::RunPrivateStateThread(), lldb_private::Process::RunThreadPlan(), and lldb_private::Process::ShouldBroadcastEvent().
|
privatedelete |
|
inlineprivate |
Definition at line 474 of file Process.h.
References m_interrupted.
Referenced by SetInterruptedInEvent().
|
static |
Definition at line 4446 of file Process.cpp.
References SetInterrupted().
Referenced by lldb_private::Process::RunPrivateStateThread().
|
inlineprivate |
Definition at line 472 of file Process.h.
References m_restarted.
Referenced by SetRestartedInEvent().
|
static |
Definition at line 4400 of file Process.cpp.
References SetRestarted().
Referenced by lldb_private::Process::ShouldBroadcastEvent().
|
inlineprivate |
Definition at line 470 of file Process.h.
References m_update_state.
Referenced by lldb_private::Process::HandlePrivateEvent().
|
static |
Definition at line 4454 of file Process.cpp.
References SetUpdateStateOnRemoval().
Referenced by SetUpdateStateOnRemoval().
|
virtual |
Definition at line 4173 of file Process.cpp.
References lldb::eStateSuspended, lldb_private::GetLog(), lldb_private::ThreadList::GetSize(), lldb_private::ThreadList::GetThreadAtIndex(), LLDB_LOG, LLDB_LOGF, lldb_private::Process, and lldb_private::Step.
|
private |
Definition at line 486 of file Process.h.
Referenced by GetInterrupted(), and SetInterrupted().
|
private |
Definition at line 480 of file Process.h.
Referenced by GetProcessSP(), and ProcessEventData().
|
private |
Definition at line 483 of file Process.h.
Referenced by GetRestarted(), and SetRestarted().
|
private |
Definition at line 482 of file Process.h.
Referenced by AddRestartedReason(), GetNumRestartedReasons(), and GetRestartedReasonAtIndex().
|
private |
Definition at line 481 of file Process.h.
Referenced by GetState().
|
private |
Definition at line 485 of file Process.h.
Referenced by SetUpdateStateOnRemoval().