diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-20 12:57:49 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-20 12:57:49 +0000 |
commit | cea7600b524cfc5023a15436f1263a5c872f99d9 (patch) | |
tree | 154f596b1f511f09974fb7ac80426451531efc05 /vm_debug.h | |
parent | f495c968c901b3db0f67310ffe815a360b9587a3 (diff) | |
download | ruby-cea7600b524cfc5023a15436f1263a5c872f99d9.tar.gz |
* include/ruby/debug.h: introdudced.
Debugging/profiling features will be located.
* vm_trace.c: expose C-level TracePoint APIs.
Note that they are experimental.
* vm_trace.c, include/ruby/debug.h: rename `rb_hook_flag_t'
to `rb_event_hook_flag_t'.
Macro names `RUBY_HOOK_FLAG_*' are also renamed to
`RUBY_EVENT_HOOK_FLAG_*'.
* debug.h, vm_debug.h: rename debug.h to vm_debug.h.
* common.mk: ditto.
* debug.c, main.c, vm_core.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_debug.h')
-rw-r--r-- | vm_debug.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/vm_debug.h b/vm_debug.h new file mode 100644 index 0000000000..424390fade --- /dev/null +++ b/vm_debug.h @@ -0,0 +1,41 @@ +/********************************************************************** + + vm_debug.h - YARV Debug function interface + + $Author$ + created at: 04/08/25 02:33:49 JST + + Copyright (C) 2004-2007 Koichi Sasada + +**********************************************************************/ + +#ifndef RUBY_DEBUG_H +#define RUBY_DEBUG_H + +#include "ruby/ruby.h" +#include "node.h" + +#if defined __GNUC__ && __GNUC__ >= 4 +#pragma GCC visibility push(default) +#endif + +#define dpv(h,v) ruby_debug_print_value(-1, 0, (h), (v)) +#define dp(v) ruby_debug_print_value(-1, 0, "", (v)) +#define dpi(i) ruby_debug_print_id(-1, 0, "", (i)) +#define dpn(n) ruby_debug_print_node(-1, 0, "", (n)) + +#define bp() ruby_debug_breakpoint() + +VALUE ruby_debug_print_value(int level, int debug_level, const char *header, VALUE v); +ID ruby_debug_print_id(int level, int debug_level, const char *header, ID id); +NODE *ruby_debug_print_node(int level, int debug_level, const char *header, const NODE *node); +int ruby_debug_print_indent(int level, int debug_level, int indent_level); +void ruby_debug_breakpoint(void); +void ruby_debug_gc_check_func(void); +void ruby_set_debug_option(const char *str); + +#if defined __GNUC__ && __GNUC__ >= 4 +#pragma GCC visibility pop +#endif + +#endif /* RUBY_DEBUG_H */ |