| int false_condition() { return 0; } | |
| int *g_watched_var_ptr; | |
| static void start_recording() {} | |
| static void trigger_watchpoint() { *g_watched_var_ptr = 2; } | |
| static void trigger_breakpoint() {} | |
| static void stop_recording() {} | |
| int main() { | |
| // The watched memory location is on the stack because | |
| // that's what our reverse execution engine records and | |
| // replays. | |
| int watched_var = 1; | |
| g_watched_var_ptr = &watched_var; | |
| start_recording(); | |
| trigger_watchpoint(); | |
| trigger_breakpoint(); | |
| stop_recording(); | |
| return 0; | |
| } |