]> git.dkaiser.de - 42/minishell.git/commitdiff
Add debug tools
authorDominik Kaiser <141638109+dpu-kaiser@users.noreply.github.com>
Tue, 25 Jun 2024 11:03:28 +0000 (13:03 +0200)
committerGitHub <noreply@github.com>
Tue, 25 Jun 2024 11:03:28 +0000 (13:03 +0200)
* Add dbg() function and debug make rule

* Add panic() debug function

Makefile
include/debug_tools.h [new file with mode: 0644]
include/minishell.h
src/debug_tools.c [new file with mode: 0644]

index fb679aea8c67987993f422a499c81c376a1c2701..6fe15b6fd305274c9b3036ede7ebf5a228014742 100644 (file)
--- 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 (file)
index 0000000..e831ecc
--- /dev/null
@@ -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
index 7408dd6265d52e2c875e1973263180295220ca64..9ebc58ffdeadb334d991524de4b7dc43ff415eb3 100644 (file)
@@ -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 (file)
index 0000000..e75c0a7
--- /dev/null
@@ -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);
+       }
+}