#include <stdlib.h>
#include <thread>
#include <unistd.h>
#include <vector>
void *sleep_worker(void *in) {
sleep(30);
sleep(30);
return nullptr;
}
void *crash_worker(void *in) {
sleep(1);
volatile int *p = nullptr; // break here
return (void *)*p;
}
int main() {
std::vector<std::thread> threads;
threads.push_back(std::move(std::thread(crash_worker, nullptr)));
for (int i = 0; i < 15; i++)
threads.push_back(std::move(std::thread(sleep_worker, nullptr)));
sleep(10);
}