Loading debuggerd/crasher.c +16 −0 Original line number Diff line number Diff line Loading @@ -101,6 +101,21 @@ int do_action_on_thread(const char* arg) return (int) result; } __attribute__((noinline)) int crash3(int a) { *((int*) 0xdead) = a; return a*4; } __attribute__((noinline)) int crash2(int a) { a = crash3(a) + 2; return a*3; } __attribute__((noinline)) int crash(int a) { a = crash2(a) + 1; return a*2; } int do_action(const char* arg) { if(!strncmp(arg, "thread-", strlen("thread-"))) { Loading @@ -111,6 +126,7 @@ int do_action(const char* arg) if(!strcmp(arg,"nostack")) crashnostack(); if(!strcmp(arg,"ctest")) return ctest(); if(!strcmp(arg,"exit")) exit(1); if(!strcmp(arg,"crash")) return crash(42); if(!strcmp(arg,"abort")) maybeabort(); pthread_t thr; Loading Loading
debuggerd/crasher.c +16 −0 Original line number Diff line number Diff line Loading @@ -101,6 +101,21 @@ int do_action_on_thread(const char* arg) return (int) result; } __attribute__((noinline)) int crash3(int a) { *((int*) 0xdead) = a; return a*4; } __attribute__((noinline)) int crash2(int a) { a = crash3(a) + 2; return a*3; } __attribute__((noinline)) int crash(int a) { a = crash2(a) + 1; return a*2; } int do_action(const char* arg) { if(!strncmp(arg, "thread-", strlen("thread-"))) { Loading @@ -111,6 +126,7 @@ int do_action(const char* arg) if(!strcmp(arg,"nostack")) crashnostack(); if(!strcmp(arg,"ctest")) return ctest(); if(!strcmp(arg,"exit")) exit(1); if(!strcmp(arg,"crash")) return crash(42); if(!strcmp(arg,"abort")) maybeabort(); pthread_t thr; Loading