Ruby  2.1.10p492(2016-04-01revision54464)
Macros | Functions | Variables
debug.c File Reference
#include "ruby/ruby.h"
#include "ruby/encoding.h"
#include "ruby/util.h"
#include "vm_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)
 
NODEruby_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_WB_PROTECTED = FL_WB_PROTECTED,
  RUBY_FL_PROMOTED = FL_PROMOTED, RUBY_FL_FINALIZE = FL_FINALIZE, RUBY_FL_TAINT = FL_TAINT, 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 ruby_id_types   id_types
 
   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

◆ SET_WHEN

#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)
const char * name
Definition: nkf.c:208

Referenced by set_debug_option().

Function Documentation

◆ ruby_debug_breakpoint()

void ruby_debug_breakpoint ( void  )

Definition at line 134 of file debug.c.

◆ ruby_debug_print_id()

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, level, and rb_id2name().

◆ ruby_debug_print_indent()

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

Definition at line 75 of file debug.c.

References FALSE, level, and TRUE.

◆ ruby_debug_print_node()

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 level, nd_line, nd_type, and ruby_node_name().

◆ ruby_debug_print_v()

void ruby_debug_print_v ( VALUE  v)

Definition at line 108 of file debug.c.

References ruby_debug_print_value().

◆ 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 level, rb_inspect(), SIGNED_VALUE, and StringValueCStr.

Referenced by ruby_debug_print_v().

◆ ruby_debug_printf()

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

Definition at line 86 of file debug.c.

◆ ruby_set_debug_option()

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().

◆ set_debug_option()

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

◆ id_types

enum ruby_id_types id_types

Definition at line 27 of file debug.c.

◆ method_ids

enum ruby_method_ids method_ids

Definition at line 26 of file debug.c.

◆ node_type

Definition at line 25 of file debug.c.

◆ ruby_dummy_gdb_enums

const { ... } ruby_dummy_gdb_enums

◆ RUBY_ENCODING_MASK

const VALUE RUBY_ENCODING_MASK = ENCODING_MASK

Definition at line 72 of file debug.c.

◆ RUBY_FL_USER19

const VALUE RUBY_FL_USER19 = FL_USER19

Definition at line 70 of file debug.c.

◆ RUBY_NODE_LMASK

const SIGNED_VALUE RUBY_NODE_LMASK = NODE_LMASK

Definition at line 71 of file debug.c.

◆ special_consts

enum ruby_special_consts special_consts

Definition at line 22 of file debug.c.

◆ tag_type

enum ruby_tag_type tag_type

Definition at line 24 of file debug.c.

◆ value_type

enum ruby_value_type value_type

Definition at line 23 of file debug.c.

◆ various

enum { ... } various