1/********************************************************************** 2 3 vm_debug.h - YARV Debug function interface 4 5 $Author: ko1 $ 6 created at: 04/08/25 02:33:49 JST 7 8 Copyright (C) 2004-2007 Koichi Sasada 9 10**********************************************************************/ 11 12#ifndef RUBY_DEBUG_H 13#define RUBY_DEBUG_H 14 15#include "ruby/ruby.h" 16#include "node.h" 17 18#if defined __GNUC__ && __GNUC__ >= 4 19#pragma GCC visibility push(default) 20#endif 21 22#define dpv(h,v) ruby_debug_print_value(-1, 0, (h), (v)) 23#define dp(v) ruby_debug_print_value(-1, 0, "", (v)) 24#define dpi(i) ruby_debug_print_id(-1, 0, "", (i)) 25#define dpn(n) ruby_debug_print_node(-1, 0, "", (n)) 26 27#define bp() ruby_debug_breakpoint() 28 29VALUE ruby_debug_print_value(int level, int debug_level, const char *header, VALUE v); 30ID ruby_debug_print_id(int level, int debug_level, const char *header, ID id); 31NODE *ruby_debug_print_node(int level, int debug_level, const char *header, const NODE *node); 32int ruby_debug_print_indent(int level, int debug_level, int indent_level); 33void ruby_debug_breakpoint(void); 34void ruby_debug_gc_check_func(void); 35void ruby_set_debug_option(const char *str); 36 37#if defined __GNUC__ && __GNUC__ >= 4 38#pragma GCC visibility pop 39#endif 40 41#endif /* RUBY_DEBUG_H */ 42