diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-06-01 23:28:46 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-06-01 23:28:46 +0000 |
commit | 8978d52ac849e6da932e155678c1fd335789cec3 (patch) | |
tree | 05f0883a276e1dcb089d9f029968e096e5beaf0c /.gdbinit | |
parent | 72f14f3aa0df4f7dd76f75c1a12a28adfc848f88 (diff) |
* .gdbinit: classic version.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@28122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to '.gdbinit')
-rw-r--r-- | .gdbinit | 502 |
1 files changed, 502 insertions, 0 deletions
diff --git a/.gdbinit b/.gdbinit new file mode 100644 index 0000000000..74bead573b --- /dev/null +++ b/.gdbinit @@ -0,0 +1,502 @@ +define rp + if ($arg0 & 0x1) + echo T_FIXNUM\n + print (long)$arg0 >> 1 + else + if ($arg0 == 0) + echo T_FALSE\n + else + if ($arg0 == 2) + echo T_TRUE\n + else + if ($arg0 == 4) + echo T_NIL\n + else + if ($arg0 == 6) + echo T_UNDEF\n + else + if (($arg0 & 0xff) == 0x0e) + echo T_SYMBOL\n + output $arg0 >> 8 + echo \n + call rb_id2name($arg0 >> 8) + else + set $rbasic = (struct RBasic*)$arg0 + # output $rbasic + # echo \ =\ + # output *$rbasic + # echo \n + set $flags = (*$rbasic).flags & 0x3f + if ($flags == 0x01) + echo T_NIL\n + echo impossible\n + else + if ($flags == 0x02) + echo T_OBJECT\n + print *(struct RObject*)$rbasic + else + if ($flags == 0x03) + echo T_CLASS\n + print *(struct RClass*)$rbasic +# rb_classname($arg0) + else + if ($flags == 0x04) + echo T_ICLASS\n + print *(struct RClass*)$rbasic + else + if ($flags == 0x05) + echo T_MODULE\n + print *(struct RClass*)$rbasic + else + if ($flags == 0x06) + echo T_FLOAT\n + print *(struct RFloat*)$rbasic + else + if ($flags == 0x07) + echo T_STRING\n + print *(struct RString*)$rbasic + else + if ($flags == 0x08) + echo T_REGEXP\n + print *(struct RRegexp*)$rbasic + else + if ($flags == 0x09) + echo T_ARRAY\n + print *(struct RArray*)$rbasic + else + if ($flags == 0x0a) + echo T_FIXNUM\n + echo impossible\n + else + if ($flags == 0x0b) + echo T_HASH\n + print *(struct RHash*)$rbasic + else + if ($flags == 0x0c) + echo T_STRUCT\n + print *(struct RStruct*)$rbasic + else + if ($flags == 0x0d) + echo T_BIGNUM\n + print *(struct RBignum*)$rbasic + else + if ($flags == 0x0e) + echo T_FILE\n + print *(struct RFile*)$rbasic + else + if ($flags == 0x20 || $flags == 0x10) + echo T_TRUE\n + echo impossible\n + else + if ($flags == 0x21 || $flags == 0x11) + echo T_FALSE\n + echo impossible\n + else + if ($flags == 0x22 || $flags == 0x12) + echo T_DATA\n + print *(struct RData*)$rbasic + else + if ($flags == 0x23 || $flags == 0x13) + echo T_MATCH\n + print *(struct RMatch*)$rbasic + else + if ($flags == 0x24 || $flags == 0x14) + echo T_SYMBOL\n + echo impossible\n + else + if ($flags == 0x3c || $flags == 0x1c) + echo T_UNDEF\n + echo impossible\n + else + if ($flags == 0x3b) + echo T_BLOCK\n + else + if ($flags == 0x3d || $flags == 0x1d) + echo T_VARMAP\n + else + if ($flags == 0x3e || $flags == 0x1e) + echo T_SCOPE\n + else + if ($flags == 0x3f || $flags == 0x1f) + echo T_NODE\n + print (NODE*)$arg0 + else + echo Unknown\n + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + end + + end + end + end + end + end + end +end +document rp +rubyの組み込みオブジェクトを表示する +end + +define nd_type + print (enum node_type)((((NODE*)$arg0)->flags>>node_typemask)&node_typeshift) +end +document nd_type +ruby node の型を表示 +end + +define nd_file + print ((NODE*)$arg0)->nd_file +end +document nd_file +node のソースファイル名を表示 +end + +define nd_line + print ((unsigned int)((((NODE*)$arg0)->flags>>node_lshift)&node_lmask)) +end +document nd_line +node の行番号を表示 +end + +# ruby node のメンバを表示 + +define nd_head + print "u1.node" + what $arg0.u1.node + p $arg0.u1.node +end + +define nd_alen + print "u2.argc" + what $arg0.u2.argc + p $arg0.u2.argc +end + +define nd_next + print "u3.node" + what $arg0.u3.node + p $arg0.u3.node +end + + +define nd_cond + print "u1.node" + what $arg0.u1.node + p $arg0.u1.node +end + +define nd_body + print "u2.node" + what $arg0.u2.node + p $arg0.u2.node +end + +define nd_else + print "u3.node" + what $arg0.u3.node + p $arg0.u3.node +end + + +define nd_orig + print "u3.value" + what $arg0.u3.value + p $arg0.u3.value +end + + +define nd_resq + print "u2.node" + what $arg0.u2.node + p $arg0.u2.node +end + +define nd_ensr + print "u3.node" + what $arg0.u3.node + p $arg0.u3.node +end + + +define nd_1st + print "u1.node" + what $arg0.u1.node + p $arg0.u1.node +end + +define nd_2nd + print "u2.node" + what $arg0.u2.node + p $arg0.u2.node +end + + +define nd_stts + print "u1.node" + what $arg0.u1.node + p $arg0.u1.node +end + + +define nd_entry + print "u3.entry" + what $arg0.u3.entry + p $arg0.u3.entry +end + +define nd_vid + print "u1.id" + what $arg0.u1.id + p $arg0.u1.id +end + +define nd_cflag + print "u2.id" + what $arg0.u2.id + p $arg0.u2.id +end + +define nd_cval + print "u3.value" + what $arg0.u3.value + p $arg0.u3.value +end + + +define nd_cnt + print "u3.cnt" + what $arg0.u3.cnt + p $arg0.u3.cnt +end + +define nd_tbl + print "u1.tbl" + what $arg0.u1.tbl + p $arg0.u1.tbl +end + + +define nd_var + print "u1.node" + what $arg0.u1.node + p $arg0.u1.node +end + +define nd_ibdy + print "u2.node" + what $arg0.u2.node + p $arg0.u2.node +end + +define nd_iter + print "u3.node" + what $arg0.u3.node + p $arg0.u3.node +end + + +define nd_value + print "u2.node" + what $arg0.u2.node + p $arg0.u2.node +end + +define nd_aid + print "u3.id" + what $arg0.u3.id + p $arg0.u3.id +end + + +define nd_lit + print "u1.value" + what $arg0.u1.value + p $arg0.u1.value +end + + +define nd_frml + print "u1.node" + what $arg0.u1.node + p $arg0.u1.node +end + +define nd_rest + print "u2.argc" + what $arg0.u2.argc + p $arg0.u2.argc +end + +define nd_opt + print "u1.node" + what $arg0.u1.node + p $arg0.u1.node +end + + +define nd_recv + print "u1.node" + what $arg0.u1.node + p $arg0.u1.node +end + +define nd_mid + print "u2.id" + what $arg0.u2.id + p $arg0.u2.id +end + +define nd_args + print "u3.node" + what $arg0.u3.node + p $arg0.u3.node +end + + +define nd_noex + print "u1.id" + what $arg0.u1.id + p $arg0.u1.id +end + +define nd_defn + print "u3.node" + what $arg0.u3.node + p $arg0.u3.node +end + + +define nd_old + print "u1.id" + what $arg0.u1.id + p $arg0.u1.id +end + +define nd_new + print "u2.id" + what $arg0.u2.id + p $arg0.u2.id +end + + +define nd_cfnc + print "u1.cfunc" + what $arg0.u1.cfunc + p $arg0.u1.cfunc +end + +define nd_argc + print "u2.argc" + what $arg0.u2.argc + p $arg0.u2.argc +end + + +define nd_cname + print "u1.id" + what $arg0.u1.id + p $arg0.u1.id +end + +define nd_super + print "u3.node" + what $arg0.u3.node + p $arg0.u3.node +end + + +define nd_modl + print "u1.id" + what $arg0.u1.id + p $arg0.u1.id +end + +define nd_clss + print "u1.value" + what $arg0.u1.value + p $arg0.u1.value +end + + +define nd_beg + print "u1.node" + what $arg0.u1.node + p $arg0.u1.node +end + +define nd_end + print "u2.node" + what $arg0.u2.node + p $arg0.u2.node +end + +define nd_state + print "u3.state" + what $arg0.u3.state + p $arg0.u3.state +end + +define nd_rval + print "u2.value" + what $arg0.u2.value + p $arg0.u2.value +end + + +define nd_nth + print "u2.argc" + what $arg0.u2.argc + p $arg0.u2.argc +end + + +define nd_tag + print "u1.id" + what $arg0.u1.id + p $arg0.u1.id +end + +define nd_tval + print "u2.value" + what $arg0.u2.value + p $arg0.u2.value +end + +define rb_p + call rb_p($arg0) +end + +define rb_id2name + call rb_id2name($arg0) +end + +define rb_classname + call classname($arg0) + rb_p $ + p *(struct RClass*)$arg0 +end + +define rb_backtrace + call rb_backtrace() +end |