Rizin
unix-like reverse engineering framework and cli tools
|
#include <rz_debug.h>
Go to the source code of this file.
Functions | |
RZ_API RzDebugTrace * | rz_debug_trace_new (void) |
RZ_API void | rz_debug_trace_free (RzDebugTrace *trace) |
RZ_API int | rz_debug_trace_tag (RzDebug *dbg, int tag) |
RZ_API bool | rz_debug_trace_ins_before (RzDebug *dbg) |
RZ_API bool | rz_debug_trace_ins_after (RzDebug *dbg) |
RZ_API int | rz_debug_trace_pc (RzDebug *dbg, ut64 pc) |
RZ_API void | rz_debug_trace_op (RzDebug *dbg, RzAnalysisOp *op) |
RZ_API void | rz_debug_trace_at (RzDebug *dbg, const char *str) |
RZ_API RzDebugTracepoint * | rz_debug_trace_get (RzDebug *dbg, ut64 addr) |
static int | cmpaddr (const void *_a, const void *_b) |
RZ_API RZ_OWN RzList * | rz_debug_traces_info (RzDebug *dbg, ut64 offset) |
static int | rz_debug_trace_is_traceable (RzDebug *dbg, ut64 addr) |
RZ_API RzDebugTracepoint * | rz_debug_trace_add (RzDebug *dbg, ut64 addr, int size) |
RZ_API void | rz_debug_trace_reset (RzDebug *dbg) |
Definition at line 206 of file trace.c.
References a, b, and rz_itv_begin().
Referenced by rz_debug_traces_info().
RZ_API RzDebugTracepoint* rz_debug_trace_add | ( | RzDebug * | dbg, |
ut64 | addr, | ||
int | size | ||
) |
Definition at line 261 of file trace.c.
References addr, rz_debug_tracepoint_t::addr, rz_debug_t::analysis, rz_debug_trace_t::count, rz_debug_tracepoint_t::count, dbg, rz_debug_trace_t::ht, NULL, PFMT64x, rz_analysis_trace_bb(), rz_debug_trace_is_traceable(), rz_list_append(), RZ_NEW0, rz_time_now(), sdb_fmt(), rz_debug_tracepoint_t::size, rz_debug_tracepoint_t::stamp, rz_debug_trace_t::tag, test-lz4-versions::tag, rz_debug_tracepoint_t::tags, rz_debug_tracepoint_t::times, rz_debug_t::trace, and rz_debug_trace_t::traces.
Referenced by rz_cmd_debug_trace_add_addrs_handler(), rz_cmd_debug_trace_add_handler(), and rz_debug_trace_op().
Definition at line 194 of file trace.c.
References rz_debug_trace_t::addresses, dbg, free(), NULL, cmd_descs_generate::str, strdup(), and rz_debug_t::trace.
Referenced by rz_cmd_debug_trace_addr().
RZ_API void rz_debug_trace_free | ( | RzDebugTrace * | trace | ) |
Definition at line 29 of file trace.c.
References free(), rz_debug_trace_t::ht, RZ_FREE, rz_list_purge(), and rz_debug_trace_t::traces.
Referenced by analysis_emul_restore(), rz_cmd_debug_traces_reset_handler(), rz_debug_free(), and rz_debug_trace_new().
RZ_API RzDebugTracepoint* rz_debug_trace_get | ( | RzDebug * | dbg, |
ut64 | addr | ||
) |
Definition at line 200 of file trace.c.
References addr, dbg, rz_debug_trace_t::ht, NULL, PFMT64x, sdb_fmt(), rz_debug_trace_t::tag, test-lz4-versions::tag, and rz_debug_t::trace.
Referenced by bb_info_print(), core_analysis_graph_construct_nodes(), ds_print_offset(), ds_print_trace(), fold_asm_trace(), graph_construct_nodes(), and rz_cmd_debug_trace_handler().
Definition at line 110 of file trace.c.
References rz_analysis_op_t::access, rz_debug_t::cur_op, dbg, eprintf, i, rz_io_bind_t::io, rz_debug_t::iob, NULL, PFMT64x, rz_io_bind_t::read_at, rz_debug_t::reg, RZ_ANALYSIS_ACC_W, rz_analysis_op_free(), RZ_ANALYSIS_VAL_MEM, RZ_ANALYSIS_VAL_REG, rz_debug_reg_sync(), rz_debug_session_add_mem_change(), rz_debug_session_add_reg_change(), RZ_LOG_ERROR, rz_reg_get_value(), RZ_REG_TYPE_ANY, rz_return_val_if_fail, rz_debug_t::session, ut64(), and val.
Referenced by rz_debug_step(), and rz_debug_step_over().
Definition at line 46 of file trace.c.
References rz_analysis_op_t::access, addr, rz_debug_t::analysis, rz_debug_t::cur_op, dbg, eprintf, rz_io_bind_t::io, rz_debug_t::iob, mul(), rz_reg_t::name, NULL, pc, rz_io_bind_t::read_at, rz_debug_t::reg, RZ_ANALYSIS_ACC_W, rz_analysis_op(), rz_analysis_op_free(), RZ_ANALYSIS_OP_MASK_VAL, RZ_ANALYSIS_VAL_MEM, RZ_ANALYSIS_VAL_REG, rz_debug_reg_get(), rz_list_delete(), RZ_NEW0, rz_reg_get_value(), RZ_REG_NAME_PC, ut64(), and val.
Referenced by rz_debug_step(), and rz_debug_step_over().
Definition at line 250 of file trace.c.
References addr, rz_debug_trace_t::addresses, dbg, PFMT64x, snprintf, and rz_debug_t::trace.
Referenced by rz_debug_trace_add().
RZ_API RzDebugTrace* rz_debug_trace_new | ( | void | ) |
Definition at line 7 of file trace.c.
References rz_debug_trace_t::addresses, rz_debug_trace_t::enabled, rz_list_t::free, free(), rz_debug_trace_t::ht, NULL, rz_debug_trace_free(), rz_list_new(), RZ_NEW0, rz_debug_trace_t::tag, and rz_debug_trace_t::traces.
Referenced by analysis_emul_init(), rz_cmd_debug_traces_reset_handler(), and rz_debug_new().
RZ_API void rz_debug_trace_op | ( | RzDebug * | dbg, |
RzAnalysisOp * | op | ||
) |
Definition at line 177 of file trace.c.
References rz_debug_t::analysis, dbg, rz_debug_trace_t::enabled, eprintf, rz_analysis_t::esil, rz_analysis_esil_trace_op(), rz_debug_trace_add(), rz_debug_t::trace, ut64(), UT64_MAX, and rz_debug_t::verbose.
Referenced by rz_core_esil_step(), and rz_debug_trace_pc().
Definition at line 160 of file trace.c.
References rz_debug_t::analysis, dbg, eprintf, rz_io_bind_t::io, rz_debug_t::iob, rz_io_bind_t::is_valid_offset, pc, PFMT64x, rz_io_bind_t::read_at, rz_analysis_op(), rz_analysis_op_fini(), RZ_ANALYSIS_OP_MASK_ESIL, and rz_debug_trace_op().
Referenced by rz_core_debug_step_one(), and rz_debug_bp_hit().
Definition at line 284 of file trace.c.
References dbg, rz_list_t::free, free(), rz_debug_trace_t::ht, rz_list_new(), rz_list_purge(), rz_debug_t::trace, and rz_debug_trace_t::traces.
Definition at line 41 of file trace.c.
References dbg, rz_debug_trace_t::tag, test-lz4-versions::tag, rz_debug_t::trace, and UT32_MAX.
Referenced by rz_cmd_debug_trace_tag_handler().
Definition at line 218 of file trace.c.
References rz_debug_tracepoint_t::addr, cmpaddr(), rz_debug_tracepoint_t::count, dbg, info(), NULL, rz_list_append(), rz_list_free(), rz_list_new(), rz_list_sort(), RZ_NEW0, rz_return_val_if_fail, rz_str_newf(), rz_debug_tracepoint_t::size, rz_debug_trace_t::tag, rz_debug_tracepoint_t::tag, test-lz4-versions::tag, rz_debug_tracepoint_t::times, rz_debug_t::trace, and rz_debug_trace_t::traces.
Referenced by rz_debug_traces_ascii().