diff options
Diffstat (limited to 'debug.c')
-rw-r--r-- | debug.c | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/debug.c b/debug.c new file mode 100644 index 0000000000..c143046fe7 --- /dev/null +++ b/debug.c @@ -0,0 +1,71 @@ +/********************************************************************** + + debug.c - + + $Author$ + $Date$ + created at: 04/08/25 02:31:54 JST + + Copyright (C) 2004-2006 Koichi Sasada + +**********************************************************************/ + +#include "ruby.h" + +void +debug_indent(int level, int debug_level, int indent_level) +{ + if (level < debug_level) { + int i; + for (i = 0; i < indent_level; i++) { + fprintf(stderr, " "); + } + fflush(stderr); + } +} + +VALUE +debug_value(int level, int debug_level, char *header, VALUE obj) +{ + if (level < debug_level) { + VALUE str; + str = rb_inspect(obj); + fprintf(stderr, "DBG> %s: %s\n", header, + obj == -1 ? "" : StringValueCStr(str)); + fflush(stderr); + } + return obj; +} + +void +debug_v(VALUE v) +{ + debug_value(0, 1, "", v); +} + +ID +debug_id(int level, int debug_level, char *header, ID id) +{ + if (level < debug_level) { + fprintf(stderr, "DBG> %s: %s\n", header, rb_id2name(id)); + fflush(stderr); + } + return id; +} + +void +gc_check_func(void) +{ + int i; +#define GCMKMAX 0x10 + for (i = 0; i < GCMKMAX; i++) { + rb_ary_new2(1000); + } + rb_gc(); +} + +void +debug_breakpoint(void) +{ + /* */ +} |