eliminate weird rollback/re-adjust rules for threads hitting int3s - rollback should only ever happen for temporary traps, e.g. user breakpoints or stepping. the fact that the thread shows *after* the trap later is a visualization issue, not a functionality issue

This commit is contained in:
Ryan Fleury
2024-05-24 08:20:10 -07:00
parent 489ae56223
commit 9349ac9e72
4 changed files with 20 additions and 39 deletions
+19
View File
@@ -2280,6 +2280,10 @@ debug_string_tests(void)
static void
interrupt_stepping_tests(void)
{
__debugbreak();
__debugbreak();
__debugbreak();
__debugbreak();
for(int i = 0; i < 1000; i += 1)
{
if(i == 999)
@@ -2297,6 +2301,19 @@ interrupt_stepping_tests(void)
int x = 0;
}
////////////////////////////////
//~ rjf: JIT Stepping Tests
static void
jit_stepping_tests(void)
{
OutputDebugString("A\n");
VOID *code = VirtualAlloc(0, 0x1000, MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE);
*((uint32_t*)code) = 0xC39090CC;
((void (__fastcall *)()) code)();
OutputDebugString("B\n");
}
////////////////////////////////
// NOTE(allen): Exception Stepping
@@ -2592,6 +2609,8 @@ mule_main(int argc, char** argv){
debug_string_tests();
jit_stepping_tests();
interrupt_stepping_tests();
exception_stepping_tests();