Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Functions | |
RZ_IPI bool | xnu_restore_exception_ports (int pid) |
static void | encode_reply (mig_reply_error_t *reply, mach_msg_header_t *hdr, int code) |
static bool | validate_mach_message (RzDebug *dbg, exc_msg *msg) |
static bool | handle_dead_notify (RzDebug *dbg, exc_msg *msg) |
static int | handle_exception_message (RzDebug *dbg, exc_msg *msg, int *ret_code, bool quiet_signal) |
RZ_IPI RzDebugReasonType | xnu_wait_for_exception (RzDebug *dbg, int pid, ut32 timeout_ms, bool quiet_signal) |
RZ_IPI bool | xnu_create_exception_thread (RzDebug *dbg) |
Variables | |
static xnu_exception_info | ex = { { 0 } } |
|
static |
Definition at line 249 of file xnu_excthreads.c.
References code.
Referenced by xnu_wait_for_exception().
Definition at line 314 of file xnu_excthreads.c.
References dbg, msg, and rz_debug_t::pid.
Referenced by xnu_wait_for_exception().
|
static |
Definition at line 322 of file xnu_excthreads.c.
References dbg, eprintf, msg, PFMT64u, rz_debug_t::reason, RZ_DEBUG_REASON_BREAKPOINT, RZ_DEBUG_REASON_ILLEGAL, RZ_DEBUG_REASON_SEGFAULT, RZ_DEBUG_REASON_SIGNAL, RZ_DEBUG_REASON_UNKNOWN, RZ_LOG_ERROR, rz_signal_to_string(), rz_debug_reason_t::signum, and ut64().
Referenced by xnu_wait_for_exception().
Definition at line 260 of file xnu_excthreads.c.
References dbg, eprintf, ex, _exception_info::exception_port, msg, rz_debug_t::pid, and pid_to_task().
Referenced by xnu_wait_for_exception().
Definition at line 479 of file xnu_excthreads.c.
References _exception_info::behaviors, _exception_info::count, dbg, eprintf, ex, _exception_info::exception_port, _exception_info::flavors, _exception_info::masks, rz_debug_t::pid, pid_to_task(), _exception_info::ports, and RETURN_ON_MACH_ERROR.
Referenced by xnu_attach().
Definition at line 226 of file xnu_excthreads.c.
References _exception_info::behaviors, _exception_info::count, eprintf, ex, _exception_info::exception_port, _exception_info::flavors, i, _exception_info::masks, pid, pid_to_task(), and _exception_info::ports.
Referenced by xnu_detach().
RZ_IPI RzDebugReasonType xnu_wait_for_exception | ( | RzDebug * | dbg, |
int | pid, | ||
ut32 | timeout_ms, | ||
bool | quiet_signal | ||
) |
Wait for a Mach exception, reply to it and handle it.
timeout_ms | if zero, wait infinitely, otherwise specifies a timeout for receiving |
quiet_signal | don't print when receiving a standard unix signal |
Definition at line 409 of file xnu_excthreads.c.
References dbg, encode_reply(), eprintf, ex, _exception_info::exception_port, handle_dead_notify(), handle_exception_message(), msg, RZ_DEBUG_REASON_DEAD, RZ_DEBUG_REASON_ERROR, RZ_DEBUG_REASON_MACH_RCV_INTERRUPTED, RZ_DEBUG_REASON_UNKNOWN, rz_debug_reg_get(), RZ_LOG_ERROR, rz_return_val_if_fail, rz_debug_t::stopaddr, and validate_mach_message().
Referenced by xnu_attach(), and xnu_wait().
|
static |
Definition at line 224 of file xnu_excthreads.c.
Referenced by insert_base(), insert_offset(), insert_s12(), insert_s15(), insert_u16(), insert_ul16(), insert_uu16(), rz_x509_free_extension(), rz_x509_free_extensions(), validate_mach_message(), xnu_create_exception_thread(), xnu_restore_exception_ports(), and xnu_wait_for_exception().