LLDB  mainline
Macros | Functions | Variables
MachException.cpp File Reference
#include "MachException.h"
#include <errno.h>
#include <sys/ptrace.h>
#include <sys/types.h>
#include <mutex>
#include "lldb/Target/UnixSignals.h"
#include "lldb/Utility/LLDBAssert.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Status.h"
#include "lldb/Utility/Stream.h"
Include dependency graph for MachException.cpp:

Go to the source code of this file.

Macros

#define PREV_EXC_MASK_ALL
 
#define EXC_RESOURCE   11
 
#define EXC_MASK_RESOURCE   (1 << EXC_RESOURCE)
 
#define LLDB_EXC_MASK   (EXC_MASK_ALL & ~EXC_MASK_RESOURCE)
 

Functions

kern_return_t catch_mach_exception_raise (mach_port_t exception_port, mach_port_t thread, mach_port_t task, exception_type_t exception, mach_exception_data_t code, mach_msg_type_number_t codeCnt)
 
kern_return_t catch_mach_exception_raise_state (mach_port_t exception_port, exception_type_t exception, const mach_exception_data_t code, mach_msg_type_number_t codeCnt, int *flavor, const thread_state_t old_state, mach_msg_type_number_t old_stateCnt, thread_state_t new_state, mach_msg_type_number_t *new_stateCnt)
 
kern_return_t catch_mach_exception_raise_state_identity (mach_port_t exception_port, mach_port_t thread, mach_port_t task, exception_type_t exception, mach_exception_data_t code, mach_msg_type_number_t codeCnt, int *flavor, thread_state_t old_state, mach_msg_type_number_t old_stateCnt, thread_state_t new_state, mach_msg_type_number_t *new_stateCnt)
 
boolean_t mach_exc_server (mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
 

Variables

static MachException::Datag_message = NULL
 

Macro Definition Documentation

◆ EXC_MASK_RESOURCE

#define EXC_MASK_RESOURCE   (1 << EXC_RESOURCE)

Definition at line 371 of file MachException.cpp.

◆ EXC_RESOURCE

#define EXC_RESOURCE   11

Definition at line 367 of file MachException.cpp.

◆ LLDB_EXC_MASK

#define LLDB_EXC_MASK   (EXC_MASK_ALL & ~EXC_MASK_RESOURCE)

◆ PREV_EXC_MASK_ALL

#define PREV_EXC_MASK_ALL
Value:
(EXC_MASK_BAD_ACCESS | EXC_MASK_BAD_INSTRUCTION | EXC_MASK_ARITHMETIC | \
EXC_MASK_EMULATION | EXC_MASK_SOFTWARE | EXC_MASK_BREAKPOINT | \
EXC_MASK_SYSCALL | EXC_MASK_MACH_SYSCALL | EXC_MASK_RPC_ALERT | \
EXC_MASK_MACHINE)

Definition at line 357 of file MachException.cpp.

Referenced by lldb_private::process_darwin::MachException::PortInfo::Save().

Function Documentation

◆ catch_mach_exception_raise()

kern_return_t catch_mach_exception_raise ( mach_port_t  exception_port,
mach_port_t  thread,
mach_port_t  task,
exception_type_t  exception,
mach_exception_data_t  code,
mach_msg_type_number_t  codeCnt 
)

◆ catch_mach_exception_raise_state()

kern_return_t catch_mach_exception_raise_state ( mach_port_t  exception_port,
exception_type_t  exception,
const mach_exception_data_t  code,
mach_msg_type_number_t  codeCnt,
int *  flavor,
const thread_state_t  old_state,
mach_msg_type_number_t  old_stateCnt,
thread_state_t  new_state,
mach_msg_type_number_t *  new_stateCnt 
)

◆ catch_mach_exception_raise_state_identity()

kern_return_t catch_mach_exception_raise_state_identity ( mach_port_t  exception_port,
mach_port_t  thread,
mach_port_t  task,
exception_type_t  exception,
mach_exception_data_t  code,
mach_msg_type_number_t  codeCnt,
int *  flavor,
thread_state_t  old_state,
mach_msg_type_number_t  old_stateCnt,
thread_state_t  new_state,
mach_msg_type_number_t *  new_stateCnt 
)

◆ mach_exc_server()

boolean_t mach_exc_server ( mach_msg_header_t *  InHeadP,
mach_msg_header_t *  OutHeadP 
)

Variable Documentation

◆ g_message

MachException::Data* g_message = NULL
static

Definition at line 59 of file MachException.cpp.