#include "Plugins/Process/Utility/HistoryThread.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/Breakpoint/StoppointCallbackContext.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Section.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/ProcessStructReader.h"
#include "lldb/Target/Queue.h"
#include "lldb/Target/QueueList.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/StreamString.h"
#include "AbortWithPayloadFrameRecognizer.h"
#include "SystemRuntimeMacOSX.h"
#include <memory>
usingnamespacelldb;
usingnamespacelldb_private;
LLDB_PLUGIN_DEFINE(…)
SystemRuntime *SystemRuntimeMacOSX::CreateInstance(Process *process) { … }
SystemRuntimeMacOSX::SystemRuntimeMacOSX(Process *process)
: … { … }
SystemRuntimeMacOSX::~SystemRuntimeMacOSX() { … }
void SystemRuntimeMacOSX::Detach() { … }
void SystemRuntimeMacOSX::Clear(bool clear_process) { … }
std::string
SystemRuntimeMacOSX::GetQueueNameFromThreadQAddress(addr_t dispatch_qaddr) { … }
lldb::addr_t SystemRuntimeMacOSX::GetLibdispatchQueueAddressFromThreadQAddress(
addr_t dispatch_qaddr) { … }
lldb::QueueKind SystemRuntimeMacOSX::GetQueueKind(addr_t dispatch_queue_addr) { … }
void SystemRuntimeMacOSX::AddThreadExtendedInfoPacketHints(
lldb_private::StructuredData::ObjectSP dict_sp) { … }
bool SystemRuntimeMacOSX::SafeToCallFunctionsOnThisThread(ThreadSP thread_sp) { … }
lldb::queue_id_t
SystemRuntimeMacOSX::GetQueueIDFromThreadQAddress(lldb::addr_t dispatch_qaddr) { … }
void SystemRuntimeMacOSX::ReadLibdispatchOffsetsAddress() { … }
void SystemRuntimeMacOSX::ReadLibdispatchOffsets() { … }
void SystemRuntimeMacOSX::ReadLibpthreadOffsetsAddress() { … }
void SystemRuntimeMacOSX::ReadLibpthreadOffsets() { … }
void SystemRuntimeMacOSX::ReadLibdispatchTSDIndexesAddress() { … }
void SystemRuntimeMacOSX::ReadLibdispatchTSDIndexes() { … }
ThreadSP SystemRuntimeMacOSX::GetExtendedBacktraceThread(ThreadSP real_thread,
ConstString type) { … }
ThreadSP
SystemRuntimeMacOSX::GetExtendedBacktraceFromItemRef(lldb::addr_t item_ref) { … }
ThreadSP
SystemRuntimeMacOSX::GetExtendedBacktraceForQueueItem(QueueItemSP queue_item_sp,
ConstString type) { … }
bool SystemRuntimeMacOSX::BacktraceRecordingHeadersInitialized() { … }
const std::vector<ConstString> &
SystemRuntimeMacOSX::GetExtendedBacktraceTypes() { … }
void SystemRuntimeMacOSX::PopulateQueueList(
lldb_private::QueueList &queue_list) { … }
SystemRuntimeMacOSX::PendingItemsForQueue
SystemRuntimeMacOSX::GetPendingItemRefsForQueue(lldb::addr_t queue) { … }
void SystemRuntimeMacOSX::PopulatePendingItemsForQueue(Queue *queue) { … }
void SystemRuntimeMacOSX::CompleteQueueItem(QueueItem *queue_item,
addr_t item_ref) { … }
void SystemRuntimeMacOSX::PopulateQueuesUsingLibBTR(
lldb::addr_t queues_buffer, uint64_t queues_buffer_size, uint64_t count,
lldb_private::QueueList &queue_list) { … }
SystemRuntimeMacOSX::ItemInfo SystemRuntimeMacOSX::ExtractItemInfoFromBuffer(
lldb_private::DataExtractor &extractor) { … }
void SystemRuntimeMacOSX::Initialize() { … }
void SystemRuntimeMacOSX::Terminate() { … }