debug.c File Reference
`#include "ruby/ruby.h"`
`#include "ruby/encoding.h"`
`#include "ruby/util.h"`
`#include "debug.h"`
`#include "eval_intern.h"`
`#include "vm_core.h"`
`#include "id.h"`

Go to the source code of this file.

## Macros

#define | SET_WHEN(name, var)

## Functions

int | ruby_debug_print_indent (int level, int debug_level, int indent_level)
void | ruby_debug_printf (const char *format,...)
VALUE | ruby_debug_print_value (int level, int debug_level, const char *header, VALUE obj)
void | ruby_debug_print_v (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)
void | ruby_debug_breakpoint (void)
static void | set_debug_option (const char *str, int len, void *arg)
void | ruby_set_debug_option (const char *str)

## Variables

union {

enum

{
RUBY_ENCODING_INLINE_MAX = ENCODING_INLINE_MAX, RUBY_ENCODING_SHIFT = ENCODING_SHIFT, RUBY_ENC_CODERANGE_MASK = ENC_CODERANGE_MASK, RUBY_ENC_CODERANGE_UNKNOWN = ENC_CODERANGE_UNKNOWN,
RUBY_ENC_CODERANGE_7BIT = ENC_CODERANGE_7BIT, RUBY_ENC_CODERANGE_VALID = ENC_CODERANGE_VALID, RUBY_ENC_CODERANGE_BROKEN = ENC_CODERANGE_BROKEN, RUBY_FL_MARK = FL_MARK,
RUBY_FL_RESERVED = FL_RESERVED, RUBY_FL_FINALIZE = FL_FINALIZE, RUBY_FL_TAINT = FL_TAINT, RUBY_FL_UNTRUSTED = FL_UNTRUSTED,
RUBY_FL_EXIVAR = FL_EXIVAR, RUBY_FL_FREEZE = FL_FREEZE, RUBY_FL_SINGLETON = FL_SINGLETON, RUBY_FL_USER0 = FL_USER0,
RUBY_FL_USER1 = FL_USER1, RUBY_FL_USER2 = FL_USER2, RUBY_FL_USER3 = FL_USER3, RUBY_FL_USER4 = FL_USER4,
RUBY_FL_USER5 = FL_USER5, RUBY_FL_USER6 = FL_USER6, RUBY_FL_USER7 = FL_USER7, RUBY_FL_USER8 = FL_USER8,
RUBY_FL_USER9 = FL_USER9, RUBY_FL_USER10 = FL_USER10, RUBY_FL_USER11 = FL_USER11, RUBY_FL_USER12 = FL_USER12,
RUBY_FL_USER13 = FL_USER13, RUBY_FL_USER14 = FL_USER14, RUBY_FL_USER15 = FL_USER15, RUBY_FL_USER16 = FL_USER16,
RUBY_FL_USER17 = FL_USER17, RUBY_FL_USER18 = FL_USER18, RUBY_FL_USHIFT = FL_USHIFT, RUBY_NODE_TYPESHIFT = NODE_TYPESHIFT,
RUBY_NODE_TYPEMASK = NODE_TYPEMASK, RUBY_NODE_LSHIFT = NODE_LSHIFT, RUBY_NODE_FL_NEWLINE = NODE_FL_NEWLINE
}

enum ruby_special_consts special_consts
enum ruby_value_type value_type
enum ruby_tag_type tag_type
enum node_type node_type
enum ruby_method_ids method_ids
enum { ... } various
} | ruby_dummy_gdb_enums
const VALUE | RUBY_FL_USER19 = FL_USER19
const SIGNED_VALUE | RUBY_NODE_LMASK = NODE_LMASK
const VALUE | RUBY_ENCODING_MASK = ENCODING_MASK

## Macro Definition Documentation

#define SET_WHEN | ( |  | name,
|  |  | var
| ) |  |

Value:
do { \
if (len == sizeof(name) - 1 && \
strncmp(str, (name), len) == 0) { \
extern int var; \
var = 1; \
return; \
} \
} while (0)

Referenced by set_debug_option().

## Function Documentation

void ruby_debug_breakpoint | ( | void |  | ) |

Definition at line 134 of file debug.c.

ID ruby_debug_print_id | ( | int | level,
|  | int | debug_level,
|  | const char * | header,
|  | ID | id
| ) |  |

Definition at line 114 of file debug.c.

References id, and rb_id2name().

int ruby_debug_print_indent | ( | int | level,
|  | int | debug_level,
|  | int | indent_level
| ) |  |

Definition at line 75 of file debug.c.

References FALSE, and TRUE.

NODE* ruby_debug_print_node | ( | int | level,
|  | int | debug_level,
|  | const char * | header,
|  | const NODE * | node
| ) |  |

Definition at line 124 of file debug.c.

References nd_line, nd_type, and ruby_node_name().

void ruby_debug_print_v | ( | VALUE | v | ) |

Definition at line 108 of file debug.c.

References ruby_debug_print_value().

VALUE ruby_debug_print_value | ( | int | level,
|  | int | debug_level,
|  | const char * | header,
|  | VALUE | obj
| ) |  |

Definition at line 95 of file debug.c.

References rb_inspect(), SIGNED_VALUE, and StringValueCStr.

Referenced by ruby_debug_print_v().

void ruby_debug_printf | ( | const char * | format,
|  |  | ...
| ) |  |

Definition at line 86 of file debug.c.

void ruby_set_debug_option | ( | const char * | str | ) |

Definition at line 159 of file debug.c.

References ruby_each_words(), and set_debug_option().

Referenced by main().

static void set_debug_option | ( | const char * | str,
|  | int | len,
|  | void * | arg
| ) |  |

static

Definition at line 140 of file debug.c.

References ruby_enable_coredump, ruby_initial_gc_stress_ptr, and SET_WHEN.

Referenced by ruby_set_debug_option().

## Variable Documentation

enum ruby_method_ids method_ids

Definition at line 26 of file debug.c.

enum node_type node_type

Definition at line 25 of file debug.c.

union { ... } ruby_dummy_gdb_enums

const VALUE RUBY_ENCODING_MASK = ENCODING_MASK

Definition at line 72 of file debug.c.

const VALUE RUBY_FL_USER19 = FL_USER19

Definition at line 70 of file debug.c.

const SIGNED_VALUE RUBY_NODE_LMASK = NODE_LMASK

Definition at line 71 of file debug.c.

enum ruby_special_consts special_consts

Definition at line 22 of file debug.c.

enum ruby_tag_type tag_type

Definition at line 24 of file debug.c.

enum ruby_value_type value_type

Definition at line 23 of file debug.c.

enum { ... } various