Ruby 2.0.0p353(2013-11-22revision43784)

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Typedefs | Enumerations | Functions
debug.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Typedefs
typedef struct rb_debug_inspector_struct | rb_debug_inspector_t
typedef VALUE(* | rb_debug_inspector_func_t )(const rb_debug_inspector_t *, void *)
typedef struct rb_trace_arg_struct | rb_trace_arg_t

## Enumerations
enum | rb_event_hook_flag_t { RUBY_EVENT_HOOK_FLAG_SAFE = 0x01, RUBY_EVENT_HOOK_FLAG_DELETED = 0x02, RUBY_EVENT_HOOK_FLAG_RAW_ARG = 0x04 }

## Functions
VALUE | rb_debug_inspector_open (rb_debug_inspector_func_t func, void *data)
VALUE | rb_debug_inspector_frame_self_get (const rb_debug_inspector_t *dc, long index)
VALUE | rb_debug_inspector_frame_class_get (const rb_debug_inspector_t *dc, long index)
VALUE | rb_debug_inspector_frame_binding_get (const rb_debug_inspector_t *dc, long index)
VALUE | rb_debug_inspector_frame_iseq_get (const rb_debug_inspector_t *dc, long index)
VALUE | rb_debug_inspector_backtrace_locations (const rb_debug_inspector_t *dc)
void | rb_add_event_hook (rb_event_hook_func_t func, rb_event_flag_t events, VALUE data)
int | rb_remove_event_hook (rb_event_hook_func_t func)
int | rb_remove_event_hook_with_data (rb_event_hook_func_t func, VALUE data)
void | rb_thread_add_event_hook (VALUE thval, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data)
int | rb_thread_remove_event_hook (VALUE thval, rb_event_hook_func_t func)
int | rb_thread_remove_event_hook_with_data (VALUE thval, rb_event_hook_func_t func, VALUE data)
VALUE | rb_tracepoint_new (VALUE target_thread_not_supported_yet, rb_event_flag_t events, void(*func)(VALUE, void *), void *data)
VALUE | rb_tracepoint_enable (VALUE tpval)
VALUE | rb_tracepoint_disable (VALUE tpval)
VALUE | rb_tracepoint_enabled_p (VALUE tpval)
rb_trace_arg_t * | rb_tracearg_from_tracepoint (VALUE tpval)
VALUE | rb_tracearg_event (rb_trace_arg_t *trace_arg)
VALUE | rb_tracearg_lineno (rb_trace_arg_t *trace_arg)
VALUE | rb_tracearg_path (rb_trace_arg_t *trace_arg)
VALUE | rb_tracearg_method_id (rb_trace_arg_t *trace_arg)
VALUE | rb_tracearg_defined_class (rb_trace_arg_t *trace_arg)
VALUE | rb_tracearg_binding (rb_trace_arg_t *trace_arg)
VALUE | rb_tracearg_self (rb_trace_arg_t *trace_arg)
VALUE | rb_tracearg_return_value (rb_trace_arg_t *trace_arg)
VALUE | rb_tracearg_raised_exception (rb_trace_arg_t *trace_arg)
void | rb_add_event_hook2 (rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_event_hook_flag_t hook_flag)
void | rb_thread_add_event_hook2 (VALUE thval, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_event_hook_flag_t hook_flag)

## Typedef Documentation

typedef VALUE(* rb_debug_inspector_func_t)(const rb_debug_inspector_t *, void *)

Definition at line 31 of file debug.h.

typedef struct rb_debug_inspector_struct rb_debug_inspector_t

Definition at line 30 of file debug.h.

typedef struct rb_trace_arg_struct rb_trace_arg_t

Definition at line 58 of file debug.h.

## Enumeration Type Documentation

enum rb_event_hook_flag_t

Enumerator
RUBY_EVENT_HOOK_FLAG_SAFE |
RUBY_EVENT_HOOK_FLAG_DELETED |
RUBY_EVENT_HOOK_FLAG_RAW_ARG |

Definition at line 73 of file debug.h.

## Function Documentation

void rb_add_event_hook | ( | rb_event_hook_func_t | func,
|  | rb_event_flag_t | events,
|  | VALUE | data
| ) |  |

Definition at line 135 of file vm_trace.c.

void rb_add_event_hook2 | ( | rb_event_hook_func_t | func,
|  | rb_event_flag_t | events,
|  | VALUE | data,
|  | rb_event_hook_flag_t | hook_flag
| ) |  |

Definition at line 148 of file vm_trace.c.

References alloc_event_hook(), connect_event_hook(), and GET_VM.

Referenced by rb_tracepoint_enable().

VALUE rb_debug_inspector_backtrace_locations | ( | const rb_debug_inspector_t * | dc | ) |

Definition at line 1202 of file vm_backtrace.c.

References rb_debug_inspector_struct::backtrace.

VALUE rb_debug_inspector_frame_binding_get | ( | const rb_debug_inspector_t * | dc,
|  | long | index
| ) |  |

Definition at line 1188 of file vm_backtrace.c.

References CALLER_BINDING_BINDING, frame_get(), and rb_ary_entry().

VALUE rb_debug_inspector_frame_class_get | ( | const rb_debug_inspector_t * | dc,
|  | long | index
| ) |  |

Definition at line 1181 of file vm_backtrace.c.

References CALLER_BINDING_CLASS, frame_get(), and rb_ary_entry().

VALUE rb_debug_inspector_frame_iseq_get | ( | const rb_debug_inspector_t * | dc,
|  | long | index
| ) |  |

Definition at line 1195 of file vm_backtrace.c.

References CALLER_BINDING_ISEQ, frame_get(), and rb_ary_entry().

VALUE rb_debug_inspector_frame_self_get | ( | const rb_debug_inspector_t * | dc,
|  | long | index
| ) |  |

Definition at line 1174 of file vm_backtrace.c.

References CALLER_BINDING_SELF, frame_get(), and rb_ary_entry().

VALUE rb_debug_inspector_open | ( | rb_debug_inspector_func_t | func,
|  | void * | data
| ) |  |

Definition at line 1136 of file vm_backtrace.c.

References rb_debug_inspector_struct::backtrace, rb_debug_inspector_struct::backtrace_size, rb_thread_struct::cfp, rb_debug_inspector_struct::cfp, collect_caller_bindings(), rb_debug_inspector_struct::contexts, data, EXEC_TAG, GET_THREAD(), JUMP_TAG, RARRAY_LEN, result, state, rb_debug_inspector_struct::th, th, TH_POP_TAG, TH_PUSH_TAG, UNINITIALIZED_VAR, and vm_backtrace_location_ary().

int rb_remove_event_hook | ( | rb_event_hook_func_t | func | ) |

Definition at line 194 of file vm_trace.c.

int rb_remove_event_hook_with_data | ( | rb_event_hook_func_t | func,
|  | VALUE | data
| ) |  |

Definition at line 200 of file vm_trace.c.

References GET_VM, and remove_event_hook().

Referenced by rb_tracepoint_disable().

void rb_thread_add_event_hook | ( | VALUE | thval,
|  | rb_event_hook_func_t | func,
|  | rb_event_flag_t | events,
|  | VALUE | data
| ) |  |

Definition at line 129 of file vm_trace.c.

References rb_threadptr_add_event_hook(), RUBY_EVENT_HOOK_FLAG_SAFE, and thval2thread_t().

void rb_thread_add_event_hook2 | ( | VALUE | thval,
|  | rb_event_hook_func_t | func,
|  | rb_event_flag_t | events,
|  | VALUE | data,
|  | rb_event_hook_flag_t | hook_flag
| ) |  |

Definition at line 142 of file vm_trace.c.

References rb_threadptr_add_event_hook(), and thval2thread_t().

Referenced by rb_tracepoint_enable().

int rb_thread_remove_event_hook | ( | VALUE | thval,
|  | rb_event_hook_func_t | func
| ) |  |

Definition at line 182 of file vm_trace.c.

References Qundef, rb_threadptr_remove_event_hook(), and thval2thread_t().

int rb_thread_remove_event_hook_with_data | ( | VALUE | thval,
|  | rb_event_hook_func_t | func,
|  | VALUE | data
| ) |  |

Definition at line 188 of file vm_trace.c.

References rb_threadptr_remove_event_hook(), and thval2thread_t().

Referenced by rb_tracepoint_disable().

VALUE rb_tracearg_binding | ( | rb_trace_arg_t * | trace_arg | ) |

Definition at line 763 of file vm_trace.c.

References rb_trace_arg_struct::cfp, Qnil, rb_binding_new_with_cfp(), rb_vm_get_binding_creatable_next_cfp(), and rb_trace_arg_struct::th.

Referenced by tracepoint_attr_binding().

VALUE rb_tracearg_defined_class | ( | rb_trace_arg_t * | trace_arg | ) |

Definition at line 756 of file vm_trace.c.

References fill_id_and_klass(), and rb_trace_arg_struct::klass.

Referenced by tracepoint_attr_defined_class().

VALUE rb_tracearg_event | ( | rb_trace_arg_t * | trace_arg | ) |

Definition at line 692 of file vm_trace.c.

References rb_trace_arg_struct::event, get_event_id(), and ID2SYM.

Referenced by tracepoint_attr_event(), and tracepoint_inspect().

rb_trace_arg_t* rb_tracearg_from_tracepoint | ( | VALUE | tpval | ) |

Definition at line 686 of file vm_trace.c.

References get_trace_arg().

VALUE rb_tracearg_lineno | ( | rb_trace_arg_t * | trace_arg | ) |

Definition at line 715 of file vm_trace.c.

References fill_path_and_lineno(), INT2FIX, and rb_trace_arg_struct::lineno.

Referenced by tracepoint_attr_lineno(), and tracepoint_inspect().

VALUE rb_tracearg_method_id | ( | rb_trace_arg_t * | trace_arg | ) |

Definition at line 749 of file vm_trace.c.

References fill_id_and_klass(), rb_trace_arg_struct::id, ID2SYM, and Qnil.

Referenced by tracepoint_attr_method_id(), and tracepoint_inspect().

VALUE rb_tracearg_path | ( | rb_trace_arg_t * | trace_arg | ) |

Definition at line 721 of file vm_trace.c.

References fill_path_and_lineno(), and rb_trace_arg_struct::path.

Referenced by tracepoint_attr_path(), and tracepoint_inspect().

VALUE rb_tracearg_raised_exception | ( | rb_trace_arg_t * | trace_arg | ) |

Definition at line 798 of file vm_trace.c.

References rb_trace_arg_struct::data, rb_trace_arg_struct::event, Qundef, rb_bug(), rb_eRuntimeError, rb_raise(), and RUBY_EVENT_RAISE.

Referenced by tracepoint_attr_raised_exception().

VALUE rb_tracearg_return_value | ( | rb_trace_arg_t * | trace_arg | ) |

Definition at line 783 of file vm_trace.c.

References rb_trace_arg_struct::data, rb_trace_arg_struct::event, Qundef, rb_bug(), rb_eRuntimeError, rb_raise(), RUBY_EVENT_B_RETURN, RUBY_EVENT_C_RETURN, and RUBY_EVENT_RETURN.

Referenced by tracepoint_attr_return_value().

VALUE rb_tracearg_self | ( | rb_trace_arg_t * | trace_arg | ) |

Definition at line 777 of file vm_trace.c.

References rb_trace_arg_struct::self.

Referenced by tracepoint_attr_self(), and tracepoint_inspect().

VALUE rb_tracepoint_disable | ( | VALUE | tpval | ) |

Definition at line 963 of file vm_trace.c.

References Qundef, rb_remove_event_hook_with_data(), rb_secure(), rb_thread_remove_event_hook_with_data(), rb_thread_struct::self, rb_tp_struct::target_th, tp, tp_call_trace(), tpptr(), and rb_tp_struct::tracing.

Referenced by tracepoint_disable_m(), and tracepoint_enable_m().

VALUE rb_tracepoint_enable | ( | VALUE | tpval | ) |

Definition at line 943 of file vm_trace.c.

References rb_tp_struct::events, Qundef, rb_add_event_hook2(), rb_secure(), rb_thread_add_event_hook2(), RUBY_EVENT_HOOK_FLAG_RAW_ARG, RUBY_EVENT_HOOK_FLAG_SAFE, rb_thread_struct::self, rb_tp_struct::target_th, tp, tp_call_trace(), tpptr(), and rb_tp_struct::tracing.

Referenced by tracepoint_disable_m(), tracepoint_enable_m(), and tracepoint_trace_s().

VALUE rb_tracepoint_enabled_p | ( | VALUE | tpval | ) |

Definition at line 1092 of file vm_trace.c.

References Qfalse, Qtrue, tp, tpptr(), and rb_tp_struct::tracing.

Referenced by Init_vm_trace().

VALUE rb_tracepoint_new | ( | VALUE | target_thread_not_supported_yet,
|  | rb_event_flag_t | events,
|  | void(*)(VALUE, void *) | func,
|  | void * | data
| ) |  |

Definition at line 1115 of file vm_trace.c.

References func, GetThreadPtr, Qundef, RTEST, and tracepoint_new().