00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef RUBY_DEBUG_H
00013 #define RUBY_DEBUG_H
00014
00015 #include "ruby/ruby.h"
00016 #include "node.h"
00017
00018 #if defined __GNUC__ && __GNUC__ >= 4
00019 #pragma GCC visibility push(default)
00020 #endif
00021
00022 #define dpv(h,v) ruby_debug_print_value(-1, 0, (h), (v))
00023 #define dp(v) ruby_debug_print_value(-1, 0, "", (v))
00024 #define dpi(i) ruby_debug_print_id(-1, 0, "", (i))
00025 #define dpn(n) ruby_debug_print_node(-1, 0, "", (n))
00026
00027 #define bp() ruby_debug_breakpoint()
00028
00029 VALUE ruby_debug_print_value(int level, int debug_level, const char *header, VALUE v);
00030 ID ruby_debug_print_id(int level, int debug_level, const char *header, ID id);
00031 NODE *ruby_debug_print_node(int level, int debug_level, const char *header, const NODE *node);
00032 int ruby_debug_print_indent(int level, int debug_level, int indent_level);
00033 void ruby_debug_breakpoint(void);
00034 void ruby_debug_gc_check_func(void);
00035 void ruby_set_debug_option(const char *str);
00036
00037 #if defined __GNUC__ && __GNUC__ >= 4
00038 #pragma GCC visibility pop
00039 #endif
00040
00041 #endif
00042