Ruby  2.5.0dev(2017-10-22revision60238)
Macros | Functions
vm_dump.c File Reference
#include "internal.h"
#include "addr2line.h"
#include "vm_core.h"
#include "iseq.h"

Go to the source code of this file.

Macros

#define MAX_POSBUF   128
 
#define VM_CFP_CNT(th, cfp)
 
#define RUBY_VM_IFUNC_P(ptr)   imemo_type_p((VALUE)ptr, imemo_ifunc)
 
#define HAVE_BACKTRACE   0
 
#define rb_dump_machine_register(ctx)   ((void)0)
 
#define LIMITED_NAME_LENGTH(s)   (((len = RSTRING_LEN(s)) > max_name_length) ? max_name_length : (int)len)
 

Functions

void rb_vmdebug_stack_dump_raw (rb_thread_t *th, rb_control_frame_t *cfp)
 
void rb_vmdebug_stack_dump_raw_current (void)
 
void rb_vmdebug_env_dump_raw (const rb_env_t *env, const VALUE *ep)
 
void rb_vmdebug_proc_dump_raw (rb_proc_t *proc)
 
void rb_vmdebug_stack_dump_th (VALUE thval)
 
void rb_vmdebug_debug_print_register (rb_thread_t *th)
 
void rb_vmdebug_thread_dump_regs (VALUE thval)
 
void rb_vmdebug_debug_print_pre (rb_thread_t *th, rb_control_frame_t *cfp, const VALUE *_pc)
 
void rb_vmdebug_debug_print_post (rb_thread_t *th, rb_control_frame_t *cfp)
 
VALUE rb_vmdebug_thread_dump_state (VALUE self)
 
void rb_print_backtrace (void)
 
void rb_vm_bugreport (const void *ctx)
 
void rb_vmdebug_stack_dump_all_threads (void)
 

Macro Definition Documentation

◆ HAVE_BACKTRACE

#define HAVE_BACKTRACE   0

Definition at line 516 of file vm_dump.c.

◆ LIMITED_NAME_LENGTH

#define LIMITED_NAME_LENGTH (   s)    (((len = RSTRING_LEN(s)) > max_name_length) ? max_name_length : (int)len)

Referenced by rb_vm_bugreport().

◆ MAX_POSBUF

#define MAX_POSBUF   128

Definition at line 22 of file vm_dump.c.

◆ rb_dump_machine_register

#define rb_dump_machine_register (   ctx)    ((void)0)

Definition at line 946 of file vm_dump.c.

Referenced by rb_print_backtrace(), and rb_vm_bugreport().

◆ RUBY_VM_IFUNC_P

#define RUBY_VM_IFUNC_P (   ptr)    imemo_type_p((VALUE)ptr, imemo_ifunc)

◆ VM_CFP_CNT

#define VM_CFP_CNT (   th,
  cfp 
)
Value:
((rb_control_frame_t *)((th)->ec.vm_stack + (th)->ec.vm_stack_size) - \

Definition at line 24 of file vm_dump.c.

Referenced by rb_vmdebug_debug_print_pre().

Function Documentation

◆ rb_print_backtrace()

void rb_print_backtrace ( void  )

Definition at line 698 of file vm_dump.c.

References buf, cnt, ERR, free(), NULL, rb_dump_machine_register, and snprintf.

Referenced by rb_vm_bugreport(), and ruby_deprecated_internal_feature().

◆ rb_vm_bugreport()

void rb_vm_bugreport ( const void *  ctx)

◆ rb_vmdebug_debug_print_post()

void rb_vmdebug_debug_print_post ( rb_thread_t th,
rb_control_frame_t cfp 
)

◆ rb_vmdebug_debug_print_pre()

void rb_vmdebug_debug_print_pre ( rb_thread_t th,
rb_control_frame_t cfp,
const VALUE _pc 
)

◆ rb_vmdebug_debug_print_register()

void rb_vmdebug_debug_print_register ( rb_thread_t th)

◆ rb_vmdebug_env_dump_raw()

void rb_vmdebug_env_dump_raw ( const rb_env_t env,
const VALUE ep 
)

Definition at line 180 of file vm_dump.c.

References rb_env_t::env, rb_env_t::env_size, PRIxVALUE, and rb_vm_env_prev_env().

◆ rb_vmdebug_proc_dump_raw()

void rb_vmdebug_proc_dump_raw ( rb_proc_t proc)

Definition at line 199 of file vm_dump.c.

References env, rb_inspect(), and val.

◆ rb_vmdebug_stack_dump_all_threads()

void rb_vmdebug_stack_dump_all_threads ( void  )

◆ rb_vmdebug_stack_dump_raw()

void rb_vmdebug_stack_dump_raw ( rb_thread_t th,
rb_control_frame_t cfp 
)

◆ rb_vmdebug_stack_dump_raw_current()

void rb_vmdebug_stack_dump_raw_current ( void  )

◆ rb_vmdebug_stack_dump_th()

void rb_vmdebug_stack_dump_th ( VALUE  thval)

Definition at line 213 of file vm_dump.c.

◆ rb_vmdebug_thread_dump_regs()

void rb_vmdebug_thread_dump_regs ( VALUE  thval)

Definition at line 327 of file vm_dump.c.

References rb_vmdebug_debug_print_register().

◆ rb_vmdebug_thread_dump_state()

VALUE rb_vmdebug_thread_dump_state ( VALUE  self)

Definition at line 397 of file vm_dump.c.