blob: 7e603fde40af820514a74710610c175ebc93416b [file]
#include <stdio.h>
#include <stdint.h>
int32_t global = 10; // Watchpoint variable declaration.
static void watch_local(void) {
int32_t local_value = 10;
printf("local_value: %d\n", local_value); // local_value_breakpoint
}
static void reuse_stack_after_return(void) {
int32_t scratch[20] = {0};
for (int i = 0; i < 20; ++i)
scratch[i] = 20;
printf("scratch[0]: %d\n", scratch[0]);
}
int main(int argc, char** argv) {
int local = 0;
printf("&global=%p\n", &global);
printf("about to write to 'global'...\n"); // Set break point at this line.
// When stopped, watch 'global' for read&write.
global = 20;
local += argc;
++local;
printf("local: %d\n", local);
printf("global=%d\n", global);
watch_local();
reuse_stack_after_return();
}