Rizin
unix-like reverse engineering framework and cli tools
|
#include <rz_debug.h>
#include <rz_drx.h>
#include <rz_core.h>
#include <rz_windows.h>
#include <signal.h>
Go to the source code of this file.
Macros | |
#define | DBG_BUF_SIZE 512 |
void free_tracenodes_kv | ( | HtUPKv * | kv | ) |
Definition at line 355 of file debug.c.
References free().
Referenced by rz_debug_new(), and rz_debug_tracenodes_reset().
Definition at line 1022 of file debug.c.
References RZ_ANALYSIS_OP_TYPE_CALL, RZ_ANALYSIS_OP_TYPE_MASK, RZ_ANALYSIS_OP_TYPE_RCALL, RZ_ANALYSIS_OP_TYPE_SWI, and RZ_ANALYSIS_OP_TYPE_UCALL.
Referenced by rz_debug_step_over().
Definition at line 445 of file debug.c.
References rz_debug_plugin_t::attach, rz_debug_t::cur, dbg, pid, rz_debug_t::reason, RZ_DEBUG_REASON_NONE, rz_debug_select(), and rz_debug_reason_t::type.
Referenced by cb_dbg_aftersc(), cb_dbg_clone(), cb_dbg_execs(), cb_dbg_forks(), rz_core_debug_attach(), and rz_debug_get_baddr().
RZ_API RZ_BORROW RzBreakpointItem* rz_debug_bp_add | ( | RZ_NONNULL RzDebug * | dbg, |
ut64 | addr, | ||
int | hw, | ||
bool | watch, | ||
int | rw, | ||
RZ_NULLABLE const char * | module, | ||
st64 | m_delta | ||
) |
Definition at line 270 of file debug.c.
References addr, rz_debug_t::bp, dbg, eprintf, list(), map(), rz_debug_t::maps, rz_bp_item_t::module_delta, rz_bp_item_t::module_name, rz_bp_item_t::name, NULL, rz_debug_t::num, PFMT64x, rz_bp_add_hw(), rz_bp_add_sw(), rz_bp_size_at(), rz_bp_watch_add(), rz_debug_map_sync(), rz_debug_modules_list(), rz_list_free(), rz_num_math(), RZ_PERM_X, rz_return_val_if_fail, rz_str_newf(), strdup(), ut64(), and valid.
Referenced by debug_trace_calls(), rz_cmd_debug_add_bp_module_handler(), rz_core_debug_bp_add(), rz_core_debug_bp_add_noreturn_func(), rz_core_debug_breakpoint_toggle(), rz_core_debug_step_over(), rz_core_debug_step_skip(), and rz_w32_add_winmsg_breakpoint().
|
static |
Definition at line 66 of file debug.c.
References b, rz_debug_t::bp, rz_debug_reason_t::bp_addr, rz_core_bind_t::bphit, rz_core_bind_t::core, rz_debug_t::corebind, dbg, rz_debug_trace_t::enabled, eprintf, rz_debug_t::hitinfo, NULL, pc, rz_debug_t::pc_at_bp, rz_debug_t::pc_at_bp_set, PFMT64x, rz_debug_t::reason, rz_debug_t::recoil_mode, rz_debug_t::reg, rz_bp_get_at(), rz_bp_get_ending_at(), rz_bp_restore(), RZ_DBG_RECOIL_NONE, rz_debug_bp_update(), rz_debug_drx_at(), rz_debug_reg_sync(), rz_debug_trace_pc(), rz_reg_set_value(), RZ_REG_TYPE_GPR, rz_debug_t::swstep, and rz_debug_t::trace.
Referenced by rz_debug_wait().
Definition at line 1737 of file debug.c.
References rz_bp_item_t::addr, rz_bp_t::baddr, rz_debug_t::bp, rz_bp_t::bps, dbg, rz_bp_item_t::delta, and ut64().
Referenced by __rebase_everything(), and rebase_helper().
Definition at line 39 of file debug.c.
References rz_bp_item_t::addr, rz_debug_t::bp, rz_bp_t::bps, rz_core_bind_t::core, rz_debug_t::corebind, dbg, rz_bp_item_t::expr, and rz_core_bind_t::numGet.
Referenced by linux_remove_fork_bps(), rz_debug_bp_hit(), and rz_debug_continue_kill().
Definition at line 200 of file debug.c.
References rz_debug_t::bp, dbg, rz_debug_t::recoil_mode, rz_bp_restore(), and RZ_DBG_RECOIL_NONE.
Referenced by rz_debug_recoil().
check whether rz_debug_kill() will not definitely fail (for example because kill is unimplemented by the plugin)
Definition at line 1594 of file debug.c.
References rz_debug_t::cur, dbg, rz_debug_plugin_t::kill, and rz_debug_is_dead().
Referenced by rz_main_rizin().
Definition at line 1332 of file debug.c.
References dbg, and rz_debug_continue_kill().
Referenced by cmd_debug_backtrace(), rz_core_debug_continue(), rz_core_debug_continue_until(), rz_core_file_reopen(), rz_debug_continue_until_internal(), rz_debug_execute(), rz_debug_step_soft(), and w32_attach().
Definition at line 1442 of file debug.c.
References rz_reg_item_t::arena, rz_debug_t::bp, rz_debug_session_t::cnum, dbg, eprintf, rz_debug_session_t::maxcnum, rz_reg_t::name, NULL, rz_reg_item_t::offset, PFMT64x, reg, rz_debug_t::reg, rz_debug_session_t::registers, rz_bp_get_in(), rz_debug_goto_cnum(), RZ_PERM_X, rz_reg_get(), RZ_REG_NAME_PC, RZ_REG_TYPE_GPR, rz_vector_foreach_prev, and rz_debug_t::session.
Referenced by rz_cmd_debug_continue_back_handler().
Definition at line 1141 of file debug.c.
References rz_debug_t::analysis, rz_reg_item_t::arena, bool, rz_debug_session_t::bp, rz_debug_t::bp, rz_core_bind_t::cfggeti, rz_core_bind_t::cmd, rz_debug_session_t::cnum, rz_bp_item_t::cond, rz_debug_plugin_t::cont, rz_core_bind_t::core, rz_debug_t::corebind, rz_debug_t::cur, dbg, rz_bp_item_t::enabled, eprintf, rz_debug_t::follow_child, rz_debug_t::forked_pid, if(), rz_io_bind_t::io, rz_debug_t::iob, linux_attach_new_process(), rz_debug_session_t::maxcnum, rz_reg_t::name, NULL, rz_core_t::num, num, rz_reg_item_t::offset, pc, PFMT64x, rz_debug_t::pid, pid, rz_io_bind_t::read_at, rz_debug_t::reason, rz_debug_session_t::reasontype, reg, rz_debug_t::reg, rz_debug_session_t::registers, repeat(), rz_analysis_op(), RZ_ANALYSIS_OP_MASK_BASIC, rz_bp_get_in(), rz_bp_restore(), rz_cons_break_pop(), rz_cons_is_breaked(), RZ_DBG_RECOIL_CONTINUE, RZ_DBG_SIGNAL_CONT, RZ_DBG_SIGNAL_SKIP, rz_debug_add_checkpoint(), rz_debug_bp_update(), rz_debug_goto_cnum(), rz_debug_is_dead(), RZ_DEBUG_REASON_BREAKPOINT, RZ_DEBUG_REASON_COND, RZ_DEBUG_REASON_DEAD, RZ_DEBUG_REASON_EXIT_LIB, RZ_DEBUG_REASON_EXIT_PID, RZ_DEBUG_REASON_EXIT_TID, RZ_DEBUG_REASON_NEW_LIB, RZ_DEBUG_REASON_NEW_PID, RZ_DEBUG_REASON_NEW_TID, RZ_DEBUG_REASON_NONE, RZ_DEBUG_REASON_STEP, RZ_DEBUG_REASON_TRACEPOINT, rz_debug_recoil(), rz_debug_reg_get(), rz_debug_reg_set(), rz_debug_select(), rz_debug_signal_what(), rz_debug_step(), rz_debug_wait(), rz_lib_dl_sym(), RZ_PERM_X, rz_reg_get(), RZ_REG_NAME_PC, RZ_REG_TYPE_GPR, rz_signal_to_string(), rz_vector_foreach_prev, rz_debug_t::session, rz_debug_reason_t::signum, rz_debug_t::tid, rz_debug_t::trace_clone, rz_debug_t::trace_continue, and ut64().
Referenced by rz_cmd_debug_continue_send_signal_handler(), rz_debug_continue(), and rz_debug_continue_pass_exception().
Definition at line 1336 of file debug.c.
References dbg, rz_debug_t::reason, rz_debug_continue_kill(), and rz_debug_reason_t::signum.
Referenced by rz_cmd_debug_continue_exception_handler().
Definition at line 1578 of file debug.c.
References dbg, rz_debug_continue_syscalls(), and sc.
Definition at line 1507 of file debug.c.
References rz_debug_plugin_t::contsc, rz_core_bind_t::core, rz_debug_t::corebind, rz_debug_t::cur, dbg, eprintf, i, NULL, rz_debug_t::pid, reg, rz_debug_t::reg, RZ_ANALYSIS_OP_TYPE_SWI, rz_cons_singleton(), rz_debug_continue_until_optype(), rz_debug_is_dead(), RZ_DEBUG_REASON_DEAD, RZ_DEBUG_REASON_STEP, rz_debug_reg_sync(), rz_debug_step(), rz_debug_wait(), rz_reg_get_by_role(), RZ_REG_NAME_SN, RZ_REG_TYPE_GPR, sc, show_syscall(), and rz_core_bind_t::syshit.
Referenced by cmd_debug_cont_syscall(), and rz_debug_continue_syscall().
Definition at line 1434 of file debug.c.
References addr, dbg, and rz_debug_continue_until_internal().
Referenced by do_debug_trace_calls(), and rz_debug_step_over().
Definition at line 1402 of file debug.c.
References addr, rz_debug_t::bp, dbg, rz_reg_t::name, NULL, pc, rz_debug_t::reason, rz_debug_t::reg, rz_bp_add_sw(), rz_bp_del(), rz_bp_get_at(), rz_bp_get_in(), rz_debug_continue(), rz_debug_is_dead(), rz_debug_reg_get(), RZ_PERM_X, RZ_REG_NAME_PC, rz_debug_reason_t::type, and ut64().
Referenced by rz_debug_continue_until(), and rz_debug_continue_until_nonblock().
Definition at line 1438 of file debug.c.
References addr, dbg, and rz_debug_continue_until_internal().
Definition at line 1345 of file debug.c.
References rz_debug_t::analysis, dbg, DBG_BUF_SIZE, eprintf, rz_io_bind_t::io, rz_debug_t::iob, n, rz_reg_t::name, op, pc, PFMT64x, rz_io_bind_t::read_at, rz_debug_t::reg, rz_analysis_op(), RZ_ANALYSIS_OP_MASK_BASIC, rz_debug_is_dead(), rz_debug_reg_get(), rz_debug_reg_sync(), rz_debug_step(), rz_debug_step_over(), RZ_REG_NAME_PC, RZ_REG_TYPE_GPR, type, and ut64().
Referenced by rz_cmd_debug_continue_call_handler(), rz_cmd_debug_continue_ret_handler(), rz_cmd_debug_continue_unknown_call_handler(), rz_core_debug_single_step_over(), and rz_debug_continue_syscalls().
Definition at line 583 of file debug.c.
References rz_debug_t::cur, dbg, rz_debug_plugin_t::detach, rz_debug_t::pid, pid, and rz_debug_t::tid.
Referenced by cmd_debug_pid(), rz_core_debug_process_close(), rz_core_file_reopen(), and rz_main_rizin().
Definition at line 50 of file debug.c.
References addr, rz_debug_t::cur, dbg, rz_debug_plugin_t::drx, and DRX_API_GET_BP.
Referenced by rz_debug_bp_hit().
Definition at line 1662 of file debug.c.
References rz_debug_t::cur, dbg, rz_debug_plugin_t::drx, and DRX_API_LIST.
Referenced by rz_debug_drx_handler().
Definition at line 1668 of file debug.c.
References addr, rz_debug_t::cur, dbg, rz_debug_plugin_t::drx, DRX_API_SET_BP, g, setup::idx, and len.
Referenced by drx_add(), and rz_debug_drx_handler().
Definition at line 1675 of file debug.c.
References rz_debug_t::cur, dbg, rz_debug_plugin_t::drx, DRX_API_REMOVE_BP, and setup::idx.
Referenced by drx_del(), linux_remove_fork_bps(), and rz_debug_drx_unset_handler().
Definition at line 510 of file debug.c.
References rz_debug_t::bp, dbg, eprintf, free(), rz_io_bind_t::io, rz_debug_t::iob, len, malloc(), rz_reg_t::name, NULL, PFMT64x, rz_io_bind_t::read_at, rz_debug_t::reg, rz_bp_add_sw(), rz_bp_del(), rz_debug_continue(), rz_debug_is_dead(), rz_debug_reg_sync(), RZ_PERM_X, rz_reg_get(), rz_reg_get_bytes(), rz_reg_get_value(), RZ_REG_NAME_A0, RZ_REG_NAME_PC, RZ_REG_NAME_SP, rz_reg_read_regs(), rz_reg_set_value(), RZ_REG_TYPE_ANY, RZ_REG_TYPE_GPR, ut64(), and rz_io_bind_t::write_at.
Referenced by rz_cmd_debug().
Definition at line 1612 of file debug.c.
References rz_debug_t::cur, dbg, rz_debug_plugin_t::frames, and NULL.
Referenced by iter_dbt_commands(), rz_cmd_debug_display_bt_ascii_handler(), rz_cmd_debug_display_bt_local_vars_handler(), rz_cmd_debug_display_bt_oneline_handler(), rz_core_cmd_foreach(), and rz_core_debug_backtraces().
Definition at line 416 of file debug.c.
References rz_debug_t::arch, rz_debug_t::bp, rz_debug_t::btalgo, rz_debug_t::call_frames, rz_debug_t::cur_op, dbg, rz_debug_t::egg, free(), rz_debug_t::glob_libs, rz_debug_t::glob_unlibs, rz_debug_t::hash, rz_debug_t::maps, rz_debug_t::maps_user, NULL, rz_debug_t::num, rz_debug_t::plugins, rz_debug_t::reg, rz_analysis_op_free(), rz_bp_free(), rz_debug_session_free(), rz_debug_trace_free(), rz_egg_free(), rz_hash_free(), rz_list_free(), rz_num_free(), rz_reg_free(), rz_tree_free(), sdb_free(), rz_debug_t::session, rz_debug_t::sgnls, rz_debug_t::snap_path, rz_debug_t::threads, rz_debug_t::trace, rz_debug_t::tracenodes, and rz_debug_t::tree.
Referenced by rz_core_fini().
Definition at line 1682 of file debug.c.
References dbg, rz_io_t::desc, free(), rz_io_bind_t::io, rz_debug_t::iob, map(), rz_debug_t::maps, rz_io_plugin_t::name, pid, rz_io_desc_t::plugin, rz_debug_attach(), rz_debug_map_sync(), rz_debug_select(), rz_file_abspath(), rz_io_desc_get_base(), rz_io_desc_get_pid(), rz_io_desc_get_tid(), rz_sys_pid_to_path(), strdup(), rz_io_bind_t::system, and ut64().
Referenced by num_callback(), rz_cmd_debug(), rz_core_file_reopen(), rz_core_file_reopen_remote_debug(), rz_core_rtr_gdb_cb(), and rz_main_rizin().
Definition at line 1110 of file debug.c.
References rz_debug_session_t::cnum, dbg, eprintf, rz_debug_session_t::maxcnum, rz_debug_session_restore_reg_mem(), and rz_debug_t::session.
Referenced by rz_debug_continue_back(), rz_debug_continue_kill(), rz_debug_step_back(), and rz_debug_step_cnum().
RZ_API RzDebugInfo* rz_debug_info | ( | RzDebug * | dbg, |
const char * | arg | ||
) |
Definition at line 18 of file debug.c.
References rz_debug_t::cur, dbg, rz_debug_plugin_t::info, NULL, and rz_debug_t::pid.
Referenced by rz_cmd_debug().
RZ_API void rz_debug_info_free | ( | RzDebugInfo * | rdi | ) |
Definition at line 1632 of file debug.c.
References rz_debug_t::cur, dbg, rz_debug_plugin_t::kill, rz_debug_plugin_t::name, rz_debug_t::pid, rz_debug_t::reason, RZ_DEBUG_REASON_DEAD, and rz_debug_reason_t::type.
Referenced by debug_trace_calls(), do_debug_trace_calls(), rz_cmd_debug_start_trace_session_handler(), rz_cmd_debug_step_cond_handler(), rz_core_debug_continue_until(), rz_core_debug_map_update_flags(), rz_core_debug_step_until_frame(), rz_core_file_reopen(), rz_debug_can_kill(), rz_debug_continue_kill(), rz_debug_continue_syscalls(), rz_debug_continue_until_internal(), rz_debug_continue_until_optype(), rz_debug_execute(), rz_debug_kill(), rz_debug_reg_sync(), rz_debug_step(), rz_debug_step_hard(), rz_debug_step_over(), rz_debug_step_soft(), rz_debug_wait(), step_until(), step_until_esil(), step_until_flag(), step_until_inst(), and step_until_optype().
Definition at line 1598 of file debug.c.
References rz_debug_t::cur, dbg, eprintf, rz_debug_plugin_t::kill, pid, and rz_debug_is_dead().
Referenced by cmd_debug_pid(), rz_cmd_debug(), rz_core_debug_kill(), rz_core_debug_process_close(), rz_core_file_reopen(), and rz_main_rizin().
Definition at line 1655 of file debug.c.
References addr, rz_debug_t::cur, dbg, and rz_debug_plugin_t::map_protect.
Referenced by rz_debug_memory_permission_handler().
RZ_API RZ_OWN RzDebug* rz_debug_new | ( | RZ_BORROW RZ_NONNULL RzBreakpointContext * | bp_ctx | ) |
Definition at line 359 of file debug.c.
References rz_debug_t::analysis, rz_debug_t::arch, rz_bp_t::baddr, rz_debug_t::bits, rz_debug_t::bp, rz_debug_t::btalgo, rz_debug_t::call_frames, rz_debug_t::cb_printf, rz_debug_t::cur, dbg, rz_debug_t::egg, rz_debug_t::follow_child, rz_debug_t::forked_pid, free_tracenodes_kv(), rz_debug_t::glibc_version, rz_debug_t::hash, rz_debug_t::hitinfo, rz_io_bind_t::init, rz_bp_t::iob, rz_debug_t::main_arena_resolved, rz_debug_t::main_pid, rz_debug_t::maps, rz_debug_t::maps_user, rz_debug_t::n_threads, rz_debug_t::nt_x86_xstate_supported, NULL, rz_debug_t::num, rz_debug_t::pid, rz_debug_t::plugin_data, printf(), rz_debug_t::q_regs, rz_debug_t::reg, rz_bp_new(), rz_debug_map_list_new(), rz_debug_num_callback(), rz_debug_plugin_init(), rz_debug_signal_init(), rz_debug_str_callback(), rz_debug_trace_new(), rz_egg_new(), rz_egg_setup(), RZ_FREE, rz_hash_new(), RZ_NEW0, rz_num_new(), rz_reg_new(), rz_return_val_if_fail, RZ_SYS_ARCH, RZ_SYS_BITS, RZ_SYS_ENDIAN, RZ_SYS_OS, rz_tree_new(), rz_debug_t::stop_all_threads, strdup(), rz_debug_t::swstep, rz_debug_t::threads, rz_debug_t::tid, rz_debug_t::trace, rz_debug_t::trace_aftersyscall, rz_debug_t::trace_clone, rz_debug_t::trace_execs, rz_debug_t::trace_forks, rz_debug_t::tracenodes, and rz_debug_t::tree.
Referenced by rz_core_init().
Definition at line 639 of file debug.c.
References RZ_DEBUG_REASON_ABORT, RZ_DEBUG_REASON_BREAKPOINT, RZ_DEBUG_REASON_DEAD, RZ_DEBUG_REASON_DIVBYZERO, RZ_DEBUG_REASON_ERROR, RZ_DEBUG_REASON_EXIT_LIB, RZ_DEBUG_REASON_EXIT_PID, RZ_DEBUG_REASON_EXIT_TID, RZ_DEBUG_REASON_FPU, RZ_DEBUG_REASON_ILLEGAL, RZ_DEBUG_REASON_INT, RZ_DEBUG_REASON_NEW_LIB, RZ_DEBUG_REASON_NEW_PID, RZ_DEBUG_REASON_NEW_TID, RZ_DEBUG_REASON_NONE, RZ_DEBUG_REASON_READERR, RZ_DEBUG_REASON_SEGFAULT, RZ_DEBUG_REASON_SIGNAL, RZ_DEBUG_REASON_STEP, RZ_DEBUG_REASON_SWI, RZ_DEBUG_REASON_TRACEPOINT, RZ_DEBUG_REASON_TRAP, RZ_DEBUG_REASON_UNKNOWN, RZ_DEBUG_REASON_USERSUSP, RZ_DEBUG_REASON_WRITERR, and type.
Referenced by rz_cmd_debug().
|
static |
Definition at line 223 of file debug.c.
References rz_debug_t::bp, rz_debug_reason_t::bp_addr, dbg, rz_debug_t::reason, rz_debug_t::recoil_mode, rz_bp_restore_except(), RZ_DBG_RECOIL_NONE, RZ_DBG_RECOIL_STEP, rz_debug_bps_enable(), rz_debug_step(), and rz_debug_t::swstep.
Referenced by rz_debug_continue_kill(), and rz_debug_step_hard().
Definition at line 595 of file debug.c.
References rz_core_bind_t::core, rz_debug_t::corebind, rz_debug_t::cur, dbg, rz_core_t::dbg, eprintf, rz_io_bind_t::io, rz_debug_t::iob, rz_core_t::offset, pc, rz_debug_t::pid, pid, rz_debug_t::reg, rz_debug_reg_get(), rz_debug_reg_sync(), rz_io_system(), rz_reg_arena_swap(), RZ_REG_TYPE_ANY, sdb_fmt(), rz_debug_plugin_t::select, rz_debug_t::tid, ut64(), and rz_debug_t::verbose.
Referenced by cb_cfgdebug(), cmd_debug_pid(), core_file_do_load_for_debug(), DEFINE_HANDLE_TS_FCN_AND_SYMBOL(), linux_attach_new_process(), linux_handle_signals(), linux_remove_fork_bps(), rz_cmd_debug_continue_execution_handler(), rz_cmd_debug_continue_send_signal_handler(), rz_core_cmd_foreach(), rz_core_debug_attach(), rz_core_file_reopen(), rz_core_setup_debugger(), rz_debug_attach(), rz_debug_continue_kill(), rz_debug_get_baddr(), and w32_attach_new_process().
Definition at line 465 of file debug.c.
References rz_debug_t::arch, arch, rz_debug_t::bits, rz_debug_plugin_t::bits, bits(), rz_debug_t::cur, dbg, free(), RZ_SYS_BITS_16, RZ_SYS_BITS_32, RZ_SYS_BITS_64, and strdup().
Referenced by cb_asmarch(), cb_asmbits(), and rz_debug_use().
RZ_API int rz_debug_startv | ( | struct rz_debug_t * | dbg, |
int | argc, | ||
char ** | argv | ||
) |
Definition at line 962 of file debug.c.
References rz_debug_session_t::bp, rz_debug_session_t::cnum, rz_debug_t::cur, dbg, eprintf, rz_debug_session_t::maxcnum, NULL, rz_debug_t::reason, rz_debug_session_t::reasontype, rz_debug_t::recoil_mode, RZ_DBG_RECOIL_NONE, rz_debug_is_dead(), RZ_DEBUG_REASON_STEP, rz_debug_step_cnum(), rz_debug_step_hard(), rz_debug_step_soft(), rz_debug_trace_ins_after(), rz_debug_trace_ins_before(), rz_debug_t::session, rz_debug_t::steps, rz_debug_t::swstep, and rz_debug_reason_t::type.
Referenced by cmd_dcu(), do_debug_trace_calls(), rz_cmd_debug_continue_mapped_io_handler(), rz_cmd_debug_step_cond_handler(), rz_cmd_debug_step_prog_handler(), rz_core_debug_continue_until(), rz_core_debug_step_one(), rz_debug_continue_kill(), rz_debug_continue_syscalls(), rz_debug_continue_until_optype(), rz_debug_esil_stepi(), rz_debug_recoil(), rz_debug_step_over(), step_line(), step_until(), step_until_esil(), step_until_flag(), step_until_inst(), and step_until_optype().
Definition at line 1121 of file debug.c.
References rz_debug_session_t::cnum, dbg, rz_debug_goto_cnum(), and rz_debug_t::session.
Referenced by rz_core_debug_step_back().
Definition at line 1131 of file debug.c.
References rz_debug_session_t::cnum, dbg, rz_debug_session_t::maxcnum, rz_debug_goto_cnum(), and rz_debug_t::session.
Referenced by rz_debug_step().
RZ_API int rz_debug_step_hard | ( | RzDebug * | dbg, |
RzBreakpointItem ** | pb | ||
) |
Definition at line 909 of file debug.c.
References rz_debug_t::bp, rz_debug_t::continue_all_threads, rz_debug_t::cur, dbg, rz_debug_t::reason, rz_debug_t::recoil_mode, rz_bp_restore(), RZ_DBG_RECOIL_NONE, RZ_DBG_RECOIL_STEP, rz_debug_is_dead(), RZ_DEBUG_REASON_BREAKPOINT, RZ_DEBUG_REASON_COND, RZ_DEBUG_REASON_DEAD, RZ_DEBUG_REASON_ERROR, RZ_DEBUG_REASON_STEP, RZ_DEBUG_REASON_TRACEPOINT, rz_debug_recoil(), rz_debug_wait(), rz_debug_plugin_t::step, and rz_debug_reason_t::type.
Referenced by rz_debug_step().
Definition at line 1033 of file debug.c.
References rz_debug_t::analysis, rz_debug_session_t::cnum, rz_debug_t::cur, dbg, DBG_BUF_SIZE, eprintf, rz_io_bind_t::io, rz_debug_t::iob, isStepOverable(), rz_debug_session_t::maxcnum, rz_reg_t::name, op, pc, PFMT64x, rz_io_bind_t::read_at, rz_debug_t::recoil_mode, rz_debug_t::reg, rz_analysis_op(), RZ_ANALYSIS_OP_MASK_BASIC, RZ_ANALYSIS_OP_PREFIX_LOCK, RZ_ANALYSIS_OP_PREFIX_REP, RZ_ANALYSIS_OP_PREFIX_REPNE, RZ_DBG_RECOIL_NONE, rz_debug_continue_until(), rz_debug_is_dead(), rz_debug_reg_get(), rz_debug_step(), rz_debug_trace_ins_after(), rz_debug_trace_ins_before(), RZ_REG_NAME_PC, rz_debug_t::session, rz_debug_plugin_t::step_over, and ut64().
Referenced by rz_cmd_debug_step_prog_handler(), rz_core_debug_step_over(), rz_core_debug_step_until_frame(), rz_debug_continue_until_optype(), and step_until_inst().
Definition at line 787 of file debug.c.
References rz_debug_t::analysis, rz_debug_t::arch, rz_debug_t::bits, rz_debug_t::bp, br, dbg, i, rz_io_bind_t::io, rz_debug_t::iob, rz_reg_t::name, op, pc, r, rz_io_bind_t::read_at, rz_debug_t::recoil_mode, rz_debug_t::reg, rz_analysis_archinfo(), RZ_ANALYSIS_ARCHINFO_ALIGN, rz_analysis_op(), RZ_ANALYSIS_OP_MASK_BASIC, RZ_ANALYSIS_OP_TYPE_CALL, RZ_ANALYSIS_OP_TYPE_CCALL, RZ_ANALYSIS_OP_TYPE_CJMP, RZ_ANALYSIS_OP_TYPE_ILL, RZ_ANALYSIS_OP_TYPE_IRCALL, RZ_ANALYSIS_OP_TYPE_IRJMP, RZ_ANALYSIS_OP_TYPE_JMP, RZ_ANALYSIS_OP_TYPE_MJMP, RZ_ANALYSIS_OP_TYPE_RCALL, RZ_ANALYSIS_OP_TYPE_RET, RZ_ANALYSIS_OP_TYPE_RJMP, RZ_ANALYSIS_OP_TYPE_UCALL, RZ_ANALYSIS_OP_TYPE_UJMP, RZ_ANALYSIS_STACK_INC, rz_bp_add_sw(), rz_bp_del(), RZ_DBG_RECOIL_NONE, RZ_DBG_RECOIL_STEP, rz_debug_continue(), rz_debug_is_dead(), rz_debug_reg_get(), RZ_PERM_X, rz_reg_get_name(), RZ_REG_NAME_LR, RZ_REG_NAME_PC, RZ_REG_NAME_SP, RZ_SYS_BITS_32, sp, rz_bp_item_t::swstep, and ut64().
Referenced by rz_debug_step().
Definition at line 458 of file debug.c.
References rz_debug_t::cur, dbg, and rz_debug_plugin_t::stop.
Referenced by rz_core_static_debug_stop(), and rz_debug_wait().
RZ_API RzDebugReasonType rz_debug_stop_reason | ( | RzDebug * | dbg | ) |
Definition at line 670 of file debug.c.
References dbg, rz_debug_t::reason, and rz_debug_reason_t::type.
Referenced by rz_cmd_debug().
Definition at line 1583 of file debug.c.
References rz_debug_plugin_t::contsc, rz_debug_t::cur, dbg, eprintf, num, and rz_debug_t::pid.
Definition at line 411 of file debug.c.
References dbg, free_tracenodes_kv(), NULL, and rz_debug_t::tracenodes.
Referenced by rz_cmd_debug_traces_reset_handler().
RZ_API RzDebugReasonType rz_debug_wait | ( | RzDebug * | dbg, |
RzBreakpointItem ** | bp | ||
) |
Definition at line 685 of file debug.c.
References b, rz_debug_t::continue_all_threads, rz_core_bind_t::core, rz_debug_t::corebind, rz_debug_t::cur, dbg, eprintf, rz_debug_t::ev, rz_debug_t::glob_libs, rz_debug_t::glob_unlibs, rz_reg_t::name, NULL, pc, rz_debug_t::pid, rz_event_debug_process_finished_t::pid, rz_debug_t::reason, rz_debug_t::reg, rz_cons_printf(), rz_debug_bp_hit(), rz_debug_is_dead(), RZ_DEBUG_REASON_BREAKPOINT, RZ_DEBUG_REASON_COND, RZ_DEBUG_REASON_DEAD, RZ_DEBUG_REASON_ERROR, RZ_DEBUG_REASON_EXIT_LIB, RZ_DEBUG_REASON_NEW_LIB, RZ_DEBUG_REASON_SIGNAL, RZ_DEBUG_REASON_STEP, RZ_DEBUG_REASON_TRACEPOINT, RZ_DEBUG_REASON_UNKNOWN, rz_debug_reg_sync(), rz_debug_signal_what(), rz_debug_stop(), RZ_EVENT_DEBUG_PROCESS_FINISHED, rz_event_send(), rz_reg_get(), rz_reg_get_value(), RZ_REG_NAME_PC, RZ_REG_TYPE_GPR, rz_signal_to_string(), rz_debug_reason_t::signum, rz_debug_reason_t::type, ut64(), and rz_debug_plugin_t::wait.
Referenced by rz_debug_continue_kill(), rz_debug_continue_syscalls(), and rz_debug_step_hard().
RZ_LIB_VERSION | ( | rz_debug | ) |
Definition at line 1476 of file debug.c.
References rz_debug_t::analysis, args, dbg, eprintf, i, int, PFMT64d, PFMT64x, reg, regname(), rz_debug_reg_get(), rz_syscall_get(), rz_syscall_item_free(), si, snprintf, st64, rz_analysis_t::syscall, ut64(), and val.
Referenced by rz_debug_continue_syscalls().