summaryrefslogtreecommitdiff
path: root/debug.h
diff options
context:
space:
mode:
Diffstat (limited to 'debug.h')
-rw-r--r--debug.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/debug.h b/debug.h
new file mode 100644
index 0000000000..1262f63c6d
--- /dev/null
+++ b/debug.h
@@ -0,0 +1,47 @@
+/**********************************************************************
+
+ debug.h - YARV Debug function interface
+
+ $Author$
+ $Date$
+ created at: 04/08/25 02:33:49 JST
+
+ Copyright (C) 2004-2006 Koichi Sasada
+
+**********************************************************************/
+
+#ifndef _DEBUG_H_INCLUDED_
+#define _DEBUG_H_INCLUDED_
+
+#include <ruby.h>
+
+VALUE debug_value(int level, int debug_level, char *header, VALUE v);
+ID debug_id(int level, int debug_level, char *header, ID id);
+void debug_indent(int level, int debug_level, int indent_level);
+
+#define dpv(h,v) debug_value(-1, 0, h, v)
+#define dp(v) debug_value(-1, 0, "", v)
+#define dpi(i) debug_id (-1, 0, "", i)
+#define bp() debug_breakpoint()
+
+void gc_check_func();
+
+#if GCDEBUG == 1
+
+#define GC_CHECK() \
+ gc_check_func()
+
+#elif GCDEBUG == 2
+
+#define GC_CHECK() \
+ (printf("** %s:%d gc start\n", __FILE__, __LINE__), \
+ gc_check_func(), \
+ printf("** end\n"))
+
+#else
+
+#define GC_CHECK()
+
+#endif
+
+#endif // _DEBUG_H_INCLUDED_