#include #include extern "C" int __xray_patch(); static volatile bool done; [[clang::xray_always_instrument,clang::xray_log_args(1)]] static int fn(int i) { return i; } void thr() { unsigned i = 0; while (!done) { fn(++i); } } int main(void) { __xray_patch(); std::thread t[8]; for (int i = 0; i < 8; ++i) t[i] = std::thread(thr); sleep(7); done = true; for (int i = 0; i < 8; ++i) t[i].join(); }