aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Kaiser2024-06-25 13:03:28 +0200
committerGitHub2024-06-25 13:03:28 +0200
commit0d7a57a7bc14831d6d7076ccb0ea7a7213ddd7fb (patch)
treeb32a1e9f885ec813cd8b729c05db2ba2a68f9475
parent1d8f996fe098b7399669174b67d2fa6341bea8d7 (diff)
downloadminishell-0d7a57a7bc14831d6d7076ccb0ea7a7213ddd7fb.tar.gz
minishell-0d7a57a7bc14831d6d7076ccb0ea7a7213ddd7fb.zip
Add debug tools
* Add dbg() function and debug make rule * Add panic() debug function
-rw-r--r--Makefile12
-rw-r--r--include/debug_tools.h24
-rw-r--r--include/minishell.h6
-rw-r--r--src/debug_tools.c33
4 files changed, 72 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index fb679ae..6fe15b6 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ LIBS = -L $(LIB_DIR)/libft -lft
HEADERS = -I include -I $(LIB_DIR)/libft
VPATH := src
-SRC := main.c
+SRC := main.c debug_tools.c
OBJ_DIR := _obj
OBJ := $(addprefix $(OBJ_DIR)/, $(SRC:%.c=%.o))
@@ -51,7 +51,15 @@ fclean: clean
re: fclean all
-.PHONY: all clean fclean re libs
+debug: CFLAGS += -g
+debug: CFLAGS += -fsanitize=address -fsanitize=undefined \
+ -fno-sanitize-recover=all -fsanitize=float-divide-by-zero \
+ -fsanitize=float-cast-overflow -fno-sanitize=null \
+ -fno-sanitize=alignment
+debug: CFLAGS += -DDEBUG=1
+debug: clean all
+
+.PHONY: all clean fclean re libs debug
################################################################################
################################################################################
diff --git a/include/debug_tools.h b/include/debug_tools.h
new file mode 100644
index 0000000..e831ecc
--- /dev/null
+++ b/include/debug_tools.h
@@ -0,0 +1,24 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* debug_tools.h :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2024/06/24 18:34:37 by dkaiser #+# #+# */
+/* Updated: 2024/06/24 18:51:53 by dkaiser ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#ifndef DEBUG_TOOLS_H
+# define DEBUG_TOOLS_H
+
+# include "libft.h"
+
+# ifndef DEBUG
+# define DEBUG 0
+# endif
+
+void dbg(char *str);
+void panic(char *msg);
+#endif
diff --git a/include/minishell.h b/include/minishell.h
index 7408dd6..9ebc58f 100644
--- a/include/minishell.h
+++ b/include/minishell.h
@@ -6,10 +6,14 @@
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/06/22 17:14:49 by dkaiser #+# #+# */
-/* Updated: 2024/06/22 17:16:15 by dkaiser ### ########.fr */
+/* Updated: 2024/06/24 18:51:30 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef MINISHELL_H
# define MINISHELL_H
+
+# include "debug_tools.h"
+# include "libft.h"
+
#endif
diff --git a/src/debug_tools.c b/src/debug_tools.c
new file mode 100644
index 0000000..e75c0a7
--- /dev/null
+++ b/src/debug_tools.c
@@ -0,0 +1,33 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* debug_tools.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2024/06/24 15:34:14 by dkaiser #+# #+# */
+/* Updated: 2024/06/25 12:48:20 by dkaiser ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "debug_tools.h"
+
+void dbg(char *msg)
+{
+ if (DEBUG)
+ {
+ ft_putstr_fd("\e[33m[DEBUG] ", 0);
+ ft_putstr_fd(msg, 0);
+ ft_putendl_fd("\e[0m", 0);
+ }
+}
+
+void panic(char *msg)
+{
+ if (DEBUG)
+ {
+ ft_putstr_fd("\e[31m[PANIC] ", 1);
+ ft_putstr_fd(msg, 1);
+ ft_putendl_fd("\e[0m", 1);
+ }
+}