Merge branch 'norris'
[model-checker.git] / common.cc
1 #include <execinfo.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4
5 #include "common.h"
6 #include "model.h"
7
8 #define MAX_TRACE_LEN 100
9
10 /** Print a backtrace of the current program state. */
11 void print_trace(void)
12 {
13         void *array[MAX_TRACE_LEN];
14         char **strings;
15         int size, i;
16
17         size = backtrace(array, MAX_TRACE_LEN);
18         strings = backtrace_symbols(array, size);
19
20         printf("\nDumping stack trace (%d frames):\n", size);
21
22         for (i = 0; i < size; i++)
23                 printf("\t%s\n", strings[i]);
24
25         free(strings);
26 }
27
28 void model_print_summary(void)
29 {
30         model->print_summary();
31 }