Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2010-04-16 17:33:22 +0000
committereutarass2010-04-16 17:33:22 +0000
commit68e3e4f97179ba3c67e3fc558542d706a2d9f5aa (patch)
tree4616a3b9093586d81cace36330e17a4fdf83f498
parent403c6d3f53b1fa3101cad5f9f446a378475e737c (diff)
downloadorg.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.c5
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);
}

Back to the top