#include "ThreadGDBRemote.h"
#include "lldb/Breakpoint/Watchpoint.h"
#include "lldb/Target/Platform.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StopInfo.h"
#include "lldb/Target/SystemRuntime.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/UnixSignals.h"
#include "lldb/Target/Unwind.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/State.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/Utility/StringExtractorGDBRemote.h"
#include "ProcessGDBRemote.h"
#include "ProcessGDBRemoteLog.h"
#include <memory>
usingnamespacelldb;
usingnamespacelldb_private;
usingnamespacelldb_private::process_gdb_remote;
ThreadGDBRemote::ThreadGDBRemote(Process &process, lldb::tid_t tid)
: … { … }
ThreadGDBRemote::~ThreadGDBRemote() { … }
const char *ThreadGDBRemote::GetName() { … }
void ThreadGDBRemote::ClearQueueInfo() { … }
void ThreadGDBRemote::SetQueueInfo(std::string &&queue_name,
QueueKind queue_kind, uint64_t queue_serial,
addr_t dispatch_queue_t,
LazyBool associated_with_libdispatch_queue) { … }
const char *ThreadGDBRemote::GetQueueName() { … }
QueueKind ThreadGDBRemote::GetQueueKind() { … }
queue_id_t ThreadGDBRemote::GetQueueID() { … }
QueueSP ThreadGDBRemote::GetQueue() { … }
addr_t ThreadGDBRemote::GetQueueLibdispatchQueueAddress() { … }
void ThreadGDBRemote::SetQueueLibdispatchQueueAddress(
lldb::addr_t dispatch_queue_t) { … }
bool ThreadGDBRemote::ThreadHasQueueInformation() const { … }
LazyBool ThreadGDBRemote::GetAssociatedWithLibdispatchQueue() { … }
void ThreadGDBRemote::SetAssociatedWithLibdispatchQueue(
LazyBool associated_with_libdispatch_queue) { … }
StructuredData::ObjectSP ThreadGDBRemote::FetchThreadExtendedInfo() { … }
void ThreadGDBRemote::WillResume(StateType resume_state) { … }
void ThreadGDBRemote::RefreshStateAfterStop() { … }
bool ThreadGDBRemote::ThreadIDIsValid(lldb::tid_t thread) { … }
void ThreadGDBRemote::Dump(Log *log, uint32_t index) { … }
bool ThreadGDBRemote::ShouldStop(bool &step_more) { … }
lldb::RegisterContextSP ThreadGDBRemote::GetRegisterContext() { … }
lldb::RegisterContextSP
ThreadGDBRemote::CreateRegisterContextForFrame(StackFrame *frame) { … }
bool ThreadGDBRemote::PrivateSetRegisterValue(uint32_t reg,
llvm::ArrayRef<uint8_t> data) { … }
bool ThreadGDBRemote::PrivateSetRegisterValue(uint32_t reg, uint64_t regval) { … }
bool ThreadGDBRemote::CalculateStopInfo() { … }
llvm::Expected<std::unique_ptr<llvm::MemoryBuffer>>
ThreadGDBRemote::GetSiginfo(size_t max_size) const { … }