diff --git a/libr/core/cmd_anal.c b/libr/core/cmd_anal.c index 32a636e8c8..52eb6e8af1 100644 --- a/libr/core/cmd_anal.c +++ b/libr/core/cmd_anal.c @@ -1220,13 +1220,13 @@ static void esil_step(RCore *core, ut64 until_addr, const char *until_expr) { //eprintf ("PC=0x%llx\n", (ut64)addr); } if (core->anal->esil->delay) - addr=core->anal->esil->delay_addr; + addr = core->anal->esil->delay_addr; r_io_read_at (core->io, addr, code, sizeof (code)); r_asm_set_pc (core->assembler, addr); ret = r_anal_op (core->anal, &op, addr, code, sizeof (code)); core->anal->esil->delay = op.delay; if (core->anal->esil->delay) - core->anal->esil->delay_addr=addr+op.size; + core->anal->esil->delay_addr = addr+op.size; #if 0 eprintf ("RET %d\n", ret); eprintf ("ADDR 0x%llx\n", addr); @@ -1258,6 +1258,12 @@ sleep (1); op.size = 1; // avoid inverted stepping r_reg_setv (core->anal->reg, name, addr + op.size); } + if (core->dbg->trace->enabled) { + RReg *reg = core->dbg->reg; + core->dbg->reg = core->anal->reg; + r_debug_trace_pc (core->dbg); + core->dbg->reg = reg; + } // check addr if (until_addr != UT64_MAX) { if (addr == until_addr) { diff --git a/libr/core/cmd_debug.c b/libr/core/cmd_debug.c index 8759256eba..92ca8028ed 100644 --- a/libr/core/cmd_debug.c +++ b/libr/core/cmd_debug.c @@ -1050,14 +1050,14 @@ static void r_core_cmd_bp(RCore *core, const char *input) { case 'e': for (p=input+3; *p==' ';p++); if (*p == '*') { - r_bp_set_trace_all(core->dbg->bp,R_TRUE); + r_bp_set_trace_all (core->dbg->bp,R_TRUE); } else if (!r_bp_set_trace (core->dbg->bp, addr, R_TRUE)) eprintf ("Cannot set tracepoint\n"); break; case 'd': for (p=input+3; *p==' ';p++); if (*p == '*') { - r_bp_set_trace_all(core->dbg->bp,R_FALSE); + r_bp_set_trace_all (core->dbg->bp,R_FALSE); } else if (!r_bp_set_trace (core->dbg->bp, addr, R_FALSE)) eprintf ("Cannot unset tracepoint\n"); break; diff --git a/libr/debug/debug.c b/libr/debug/debug.c index 8d603e5d5a..0382005f36 100644 --- a/libr/debug/debug.c +++ b/libr/debug/debug.c @@ -1,4 +1,4 @@ -/* radare - LGPL - Copyright 2009-2014 - pancake, TheLemonMan */ +/* radare - LGPL - Copyright 2009-2015 - pancake, TheLemonMan */ #include #include @@ -54,7 +54,7 @@ static int r_debug_recoil(RDebug *dbg) { } R_API RDebug *r_debug_new(int hard) { - RDebug *dbg = R_NEW (RDebug); + RDebug *dbg = R_NEW0 (RDebug); if (dbg) { // R_SYS_ARCH dbg->arch = r_sys_arch_id (R_SYS_ARCH); // 0 is native by default