#ifdef _MSC_VER #include #define BREAKPOINT_INTRINSIC() __debugbreak() #else #define BREAKPOINT_INTRINSIC() __asm__ __volatile__ ("int3") #endif int bar(int const *foo) { int count = 0, i = 0; for (; i < 10; ++i) { count += 1; BREAKPOINT_INTRINSIC(); count += 1; } return *foo; } int main(int argc, char **argv) { int foo = 42; bar(&foo); return 0; }