1 #include "nitg.main.0.h"
8 void show_backtrace (int signo
) {
9 char* opt
= getenv("NIT_NO_STACK");
14 char* procname
= malloc(sizeof(char) * 100);
16 unw_init_local(&cursor
, &uc
);
17 printf("-------------------------------------------------\n");
18 printf("-- Stack Trace ------------------------------\n");
19 printf("-------------------------------------------------\n");
20 while (unw_step(&cursor
) > 0) {
21 unw_get_proc_name(&cursor
, procname
, 100, &ip
);
22 printf("` %s \n",procname
);
24 printf("-------------------------------------------------\n");
29 int main(int argc
, char** argv
) {
31 signal(SIGABRT
, show_backtrace
);
32 signal(SIGFPE
, show_backtrace
);
33 signal(SIGILL
, show_backtrace
);
34 signal(SIGINT
, show_backtrace
);
35 signal(SIGTERM
, show_backtrace
);
36 signal(SIGSEGV
, show_backtrace
);
37 glob_argc
= argc
; glob_argv
= argv
;
38 initialize_gc_option();
39 var
= NEW_kernel__Sys(&type_kernel__Sys
);
41 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Sys__init
]))(var
) /* init on <var:Sys>*/;
42 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Sys__main
]))(var
) /* main on <var:Sys>*/;