LLDB  mainline
Classes | Public Member Functions | List of all members
lldb_private::AppleGetThreadItemInfoHandler Class Reference

#include <AppleGetThreadItemInfoHandler.h>

Classes

struct  GetThreadItemInfoReturnInfo
 

Public Member Functions

 AppleGetThreadItemInfoHandler (lldb_private::Process *process)
 
 ~AppleGetThreadItemInfoHandler ()
 
GetThreadItemInfoReturnInfo GetThreadItemInfo (Thread &thread, lldb::tid_t thread_id, lldb::addr_t page_to_free, uint64_t page_to_free_size, lldb_private::Status &error)
 Get the information about a work item by calling __introspection_dispatch_thread_get_item_info. More...
 
void Detach ()
 

Detailed Description

Definition at line 43 of file AppleGetThreadItemInfoHandler.h.

Constructor & Destructor Documentation

◆ AppleGetThreadItemInfoHandler()

AppleGetThreadItemInfoHandler::AppleGetThreadItemInfoHandler ( lldb_private::Process process)

Definition at line 106 of file AppleGetThreadItemInfoHandler.cpp.

◆ ~AppleGetThreadItemInfoHandler()

AppleGetThreadItemInfoHandler::~AppleGetThreadItemInfoHandler ( )

Definition at line 112 of file AppleGetThreadItemInfoHandler.cpp.

Member Function Documentation

◆ Detach()

void AppleGetThreadItemInfoHandler::Detach ( )

◆ GetThreadItemInfo()

AppleGetThreadItemInfoHandler::GetThreadItemInfoReturnInfo AppleGetThreadItemInfoHandler::GetThreadItemInfo ( Thread thread,
lldb::tid_t  thread_id,
lldb::addr_t  page_to_free,
uint64_t  page_to_free_size,
lldb_private::Status error 
)

Get the information about a work item by calling __introspection_dispatch_thread_get_item_info.

If there's a page of memory that needs to be freed, pass in the address and size and it will be freed before getting the list of queues.

Parameters
[in]thread_idThe thread to get the extended backtrace for.
[in]page_to_freeAn address of an inferior process vm page that needs to be deallocated, LLDB_INVALID_ADDRESS if this is not needed.
[in]page_to_free_sizeThe size of the vm page that needs to be deallocated if an address was passed in to page_to_free.
[out]errorThis object will be updated with the error status / error string from any failures encountered.
Returns
The result of the inferior function call execution. If there was a failure of any kind while getting the information, the item_buffer_ptr value will be LLDB_INVALID_ADDRESS.

Definition at line 233 of file AppleGetThreadItemInfoHandler.cpp.

References lldb_private::Status::AsCString(), lldb_private::Thread::CalculateExecutionContext(), lldb_private::Thread::CalculateProcess(), lldb_private::Thread::CalculateTarget(), lldb_private::Status::Clear(), lldb::eBasicTypeInt, lldb::eBasicTypeUnsignedLongLong, lldb::eBasicTypeVoid, lldb::eExpressionCompleted, lldb_private::Value::eValueTypeScalar, lldb_private::FunctionCaller::ExecuteFunction(), lldb_private::UserID::GetID(), lldb_private::GetLogIfAllCategoriesSet(), lldb_private::CompilerType::GetPointerType(), lldb_private::Value::GetScalar(), lldb_private::Thread::GetStackFrameAtIndex(), lldb_private::AppleGetThreadItemInfoHandler::GetThreadItemInfoReturnInfo::item_buffer_ptr, lldb_private::AppleGetThreadItemInfoHandler::GetThreadItemInfoReturnInfo::item_buffer_size, LIBLLDB_LOG_SYSTEM_RUNTIME, LLDB_INVALID_ADDRESS, lldb_private::Log::Printf(), lldb_private::ValueList::PushValue(), lldb_private::Process::ReadUnsignedIntegerFromMemory(), lldb_private::Thread::SafeToCallFunctions(), lldb_private::Value::SetCompilerType(), lldb_private::Status::SetErrorString(), lldb_private::EvaluateExpressionOptions::SetIgnoreBreakpoints(), lldb_private::EvaluateExpressionOptions::SetIsForUtilityExpr(), lldb_private::EvaluateExpressionOptions::SetStopOthers(), lldb_private::EvaluateExpressionOptions::SetTimeout(), lldb_private::EvaluateExpressionOptions::SetTryAllThreads(), lldb_private::EvaluateExpressionOptions::SetUnwindOnError(), lldb_private::Value::SetValueType(), and lldb_private::Status::Success().

Referenced by SystemRuntimeMacOSX::GetExtendedBacktraceThread(), and lldb_private::AppleGetThreadItemInfoHandler::GetThreadItemInfoReturnInfo::GetThreadItemInfoReturnInfo().


The documentation for this class was generated from the following files: