diff options
-rw-r--r-- | tests/fs-tests/integrity/Makefile | 5 | ||||
-rw-r--r-- | tests/fs-tests/integrity/integck.c | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/tests/fs-tests/integrity/Makefile b/tests/fs-tests/integrity/Makefile index 976c3ce..2cdd470 100644 --- a/tests/fs-tests/integrity/Makefile +++ b/tests/fs-tests/integrity/Makefile @@ -13,5 +13,10 @@ TARGETS = integck all: $(TARGETS) +# Disable optimizations to make it possible to use gdb comfortably +# Use -rdynamic to have stack backtraces +debug: + gcc $(CFLAGS) -O0 -D INTEGCK_DEBUG -rdynamic integck.c -o integck + clean: rm -f *.o $(TARGETS) diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c index f09cfaf..fbd6cc5 100644 --- a/tests/fs-tests/integrity/integck.c +++ b/tests/fs-tests/integrity/integck.c @@ -41,6 +41,16 @@ #define PROGRAM_NAME "integck" #include "common.h" +/* + * WARNING! This is a dirty hack! The symbols for static functions are not + * printed in the stack backtrace. So we remove ths 'static' keyword using the + * pre-processor. This is really error-prone because this won't work if, e.g., + * local static variables were used. + */ +#ifdef INTEGCK_DEBUG +#define static +#endif + #define MAX_RANDOM_SEED 10000000 /* The pattern for the top directory where we run the test */ |