diff options
author | eutarass | 2010-04-16 17:33:22 +0000 |
---|---|---|
committer | eutarass | 2010-04-16 17:33:22 +0000 |
commit | 68e3e4f97179ba3c67e3fc558542d706a2d9f5aa (patch) | |
tree | 4616a3b9093586d81cace36330e17a4fdf83f498 | |
parent | 403c6d3f53b1fa3101cad5f9f446a378475e737c (diff) | |
download | org.eclipse.tcf.agent-68e3e4f97179ba3c67e3fc558542d706a2d9f5aa.tar.gz org.eclipse.tcf.agent-68e3e4f97179ba3c67e3fc558542d706a2d9f5aa.tar.xz org.eclipse.tcf.agent-68e3e4f97179ba3c67e3fc558542d706a2d9f5aa.zip |
TCF Agent: assert fails when hardware breakpoints are used on Windows
-rw-r--r-- | system/Windows/context-win32.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/system/Windows/context-win32.c b/system/Windows/context-win32.c index e22f0986..93d4c476 100644 --- a/system/Windows/context-win32.c +++ b/system/Windows/context-win32.c @@ -161,7 +161,6 @@ static void event_win32_context_stopped(Context * ctx) { case 0: break; case EXCEPTION_SINGLE_STEP: - assert(ctx->pending_step); break; case EXCEPTION_BREAKPOINT: if (!ctx->regs_error && is_breakpoint_address(ctx, get_regs_PC(ctx->regs) - BREAK_SIZE)) { @@ -620,12 +619,10 @@ int context_continue(Context * ctx) { if (skip_breakpoint(ctx, 0)) return 0; trace(LOG_CONTEXT, "context: resuming ctx %#lx, pid %d", ctx, ctx->pid); -#if defined(__i386__) || defined(__x86_64__) if ((((REG_SET *)ctx->regs)->EFlags & 0x100) != 0) { ((REG_SET *)ctx->regs)->EFlags &= ~0x100; ctx->regs_dirty = 1; } -#endif if (ctx->regs_dirty && ctx->regs_error) { trace(LOG_ALWAYS, "Can't resume thread, registers copy is invalid: ctx %#lx, pid %d", ctx, ctx->pid); errno = set_error_report_errno(ctx->regs_error); @@ -649,12 +646,10 @@ int context_single_step(Context * ctx) { errno = set_error_report_errno(ctx->regs_error); return -1; } -#if defined(__i386__) || defined(__x86_64__) if ((((REG_SET *)ctx->regs)->EFlags & 0x100) == 0) { ((REG_SET *)ctx->regs)->EFlags |= 0x100; ctx->regs_dirty = 1; } -#endif ctx->pending_step = 1; return win32_resume(ctx); } |