9#ifndef LLDB_SOURCE_PLUGINS_PROCESS_GDB_REMOTE_THREADGDBREMOTE_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_GDB_REMOTE_THREADGDBREMOTE_H
24namespace process_gdb_remote {
26class ProcessGDBRemote;
59 void Dump(
Log *log, uint32_t index);
119 llvm::Expected<std::unique_ptr<llvm::MemoryBuffer>>
A plug-in interface definition class for debugging a process.
This base class provides an interface to stack frames.
std::shared_ptr< Object > ObjectSP
StructuredData::ObjectSP FetchThreadExtendedInfo() override
uint64_t m_queue_serial_number
void SetQueueLibdispatchQueueAddress(lldb::addr_t dispatch_queue_t) override
bool ThreadHasQueueInformation() const override
Whether this Thread already has all the Queue information cached or not.
lldb::QueueSP GetQueue() override
Retrieve the Queue for this thread, if any.
std::string m_dispatch_queue_name
std::string m_thread_name
void Dump(Log *log, uint32_t index)
const char * GetName() override
bool ShouldStop(bool &step_more)
void RefreshStateAfterStop() override
void SetQueueInfo(std::string &&queue_name, lldb::QueueKind queue_kind, uint64_t queue_serial, lldb::addr_t dispatch_queue_t, lldb_private::LazyBool associated_with_libdispatch_queue)
llvm::Expected< std::unique_ptr< llvm::MemoryBuffer > > GetSiginfo(size_t max_size) const override
void SetThreadDispatchQAddr(lldb::addr_t thread_dispatch_qaddr)
lldb_private::LazyBool GetAssociatedWithLibdispatchQueue() override
Whether this thread can be associated with a libdispatch queue.
lldb::QueueKind GetQueueKind() override
Retrieve the Queue kind for the queue currently using this Thread.
lldb::RegisterContextSP CreateRegisterContextForFrame(StackFrame *frame) override
lldb_private::LazyBool m_associated_with_libdispatch_queue
lldb::queue_id_t GetQueueID() override
Retrieve the Queue ID for the queue currently using this Thread.
const char * GetBasicInfoAsString()
const char * GetQueueName() override
Retrieve the Queue name for the queue currently using this Thread.
bool CalculateStopInfo() override
Ask the thread subclass to set its stop info.
void WillResume(lldb::StateType resume_state) override
lldb::RegisterContextSP GetRegisterContext() override
static bool ThreadIDIsValid(lldb::tid_t thread)
void SetName(const char *name) override
~ThreadGDBRemote() override
lldb::QueueKind m_queue_kind
bool CachedQueueInfoIsValid() const
lldb::addr_t m_thread_dispatch_qaddr
lldb::addr_t GetQueueLibdispatchQueueAddress() override
Retrieve the address of the libdispatch_queue_t struct for queue currently using this Thread.
lldb::addr_t m_dispatch_queue_t
lldb::addr_t GetThreadDispatchQAddr()
void SetAssociatedWithLibdispatchQueue(lldb_private::LazyBool associated_with_libdispatch_queue) override
GDBRemoteDynamicRegisterInfoSP m_reg_info_sp
bool PrivateSetRegisterValue(uint32_t reg, llvm::ArrayRef< uint8_t > data)
void SetStopInfoFromPacket(StringExtractor &stop_packet, uint32_t stop_id)
std::shared_ptr< GDBRemoteDynamicRegisterInfo > GDBRemoteDynamicRegisterInfoSP
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Queue > QueueSP
StateType
Process and Thread States.
std::shared_ptr< lldb_private::RegisterContext > RegisterContextSP