Ruby 1.9.3p327(2012-11-10revision37606)
debug.h
Go to the documentation of this file.
00001 /**********************************************************************
00002 
00003   debug.h - YARV Debug function interface
00004 
00005   $Author: akr $
00006   created at: 04/08/25 02:33:49 JST
00007 
00008   Copyright (C) 2004-2007 Koichi Sasada
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 /* RUBY_DEBUG_H */
00042