/branches/tracing/uspace/app/debug/arch/ia32/src/ia32.c |
---|
87,7 → 87,10 |
if (brk_list[bi].set && brk_list[bi].addr == brk_addr) |
break; |
} |
if (bi < MAX_BRKPTS) { |
printf("breakpoint %d hit\n", bi); |
buffer[ISTATE_OFF_EIP] = brk_addr; |
buffer[ISTATE_OFF_EFLAGS] |= 0x0100; /* trap flag */ |
printf("setting EIP to 0x%08x\n", buffer[ISTATE_OFF_EIP]); |
105,6 → 108,8 |
unsigned char brkinstr[1]; |
int rc; |
printf("trap event\n"); |
breakpoint_t *lb = lifted_brkpt; |
brkinstr[0] = OPCODE_INT3; |
rc = udebug_mem_write(app_phone, brkinstr, lb->addr, 1); |