From c937bd4a924f4aa20763f05e58d1b82a6062a7d8 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 12 Nov 2016 06:12:09 +0000 Subject: [PATCH] .gdbinit: improve rp [ci skip] * .gdbinit (rp): improve T_OBJECT dump. show the contents of the instance variables table. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- .gdbinit | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.gdbinit b/.gdbinit index d31ccaa7df..11611e8c24 100644 --- a/.gdbinit +++ b/.gdbinit @@ -63,7 +63,13 @@ define rp else if ($flags & RUBY_T_MASK) == RUBY_T_OBJECT printf "%sT_OBJECT%s: ", $color_type, $color_end - print (struct RObject *)($arg0) + print ((struct RObject *)($arg0))->basic + if ($flags & ROBJECT_EMBED) + print/x *((VALUE*)((struct RObject*)($arg0))->as.ary) @ (ROBJECT_EMBED_LEN_MAX+0) + else + print (((struct RObject *)($arg0))->as.heap) + print/x *(((struct RObject*)($arg0))->as.heap.ivptr) @ (((struct RObject*)($arg0))->as.heap.numiv) + end else if ($flags & RUBY_T_MASK) == RUBY_T_CLASS printf "%sT_CLASS%s%s: ", $color_type, ($flags & RUBY_FL_SINGLETON) ? "*" : "", $color_end @@ -467,7 +473,7 @@ define rp_class end printf "\n" rb_classname $arg0 - print *(struct RClass *)($arg0) + print/x *(struct RClass *)($arg0) print *((struct RClass *)($arg0))->ptr end document rp_class