From 649e1ecbeedf7658c2b238e4cc2f8bc838a5eff7 Mon Sep 17 00:00:00 2001 From: "Begerad, Stefan" Date: Wed, 11 Jan 2023 13:51:41 +0100 Subject: [PATCH] feat: adjust array-dim2 according to Memcheck result --- .gitignore | 1 + array-dim2/main.c | 3 ++- array-dim2/makefile | 6 ++++++ array-dim2/readme.md | 12 ++++++++++++ 4 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5761abc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.o diff --git a/array-dim2/main.c b/array-dim2/main.c index 111da29..b422faf 100644 --- a/array-dim2/main.c +++ b/array-dim2/main.c @@ -26,10 +26,11 @@ int main(int argc, char *argv[]) { json_decref(arrayInt); - sizeArAr = json_array_size(arrayArray); fprintf(stdout,"main() size(arrayArray): %ld\n", sizeArAr); + json_decref(arrayArray); + fprintf(stdout,"main() Done.\n"); return 0; } diff --git a/array-dim2/makefile b/array-dim2/makefile index 8fed1b4..fe65a48 100644 --- a/array-dim2/makefile +++ b/array-dim2/makefile @@ -17,6 +17,12 @@ CC = /usr/bin/gcc all: main.o $(CC) main.c -L/usr/lib/x86_64-linux-gnu -ljansson -Wall -o $(EXE) # +#Compile your program with -g to include debugging information so that Memcheck's error messages include exact line numbers. +#-O0 means no optmization +#-g - adds debugging symbols to executable +debug: main.o + $(CC) main.c -L/usr/lib/x86_64-linux-gnu -ljansson -Wall -o $(EXE) -O0 -g +# main.o: $(CC) -c main.c # Clean Up Objects, Exectuables, Dumps out of source directory diff --git a/array-dim2/readme.md b/array-dim2/readme.md index f0c3946..14139e4 100644 --- a/array-dim2/readme.md +++ b/array-dim2/readme.md @@ -4,6 +4,12 @@ make clean all ``` +* build in debugging mode + +``` +make debug +``` + * cleanup ``` @@ -15,3 +21,9 @@ make clean ``` ./main ``` + +* run Valgrind tool `Memcheck` + +``` +valgrind --leak-check=yes -s ./main +```