diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-09-28 19:55:07 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-09-28 20:03:54 +0900 |
commit | 545e01645f7350c255f79b90f184a1317d3d55fb (patch) | |
tree | 8017516dc1c49383eda67f7c7616913da46efa69 | |
parent | 8bdaaeb99a7e737f9cde38889b94b2bd83d9d2dc (diff) |
lldb: Show encoding of String [ci skip]
-rw-r--r-- | common.mk | 1 | ||||
-rw-r--r-- | debug.c | 2 | ||||
-rwxr-xr-x | misc/lldb_cruby.py | 2 |
3 files changed, 5 insertions, 0 deletions
@@ -3457,6 +3457,7 @@ debug.$(OBJEXT): {$(VPATH)}config.h debug.$(OBJEXT): {$(VPATH)}debug.c debug.$(OBJEXT): {$(VPATH)}debug_counter.h debug.$(OBJEXT): {$(VPATH)}defines.h +debug.$(OBJEXT): {$(VPATH)}encindex.h debug.$(OBJEXT): {$(VPATH)}encoding.h debug.$(OBJEXT): {$(VPATH)}eval_intern.h debug.$(OBJEXT): {$(VPATH)}gc.h @@ -14,6 +14,7 @@ #include <stdio.h> #include "eval_intern.h" +#include "encindex.h" #include "id.h" #include "internal/signal.h" #include "ruby/encoding.h" @@ -50,6 +51,7 @@ const union { enum ruby_coderange_type enc_coderange_types; enum ruby_econv_flag_type econv_flag_types; rb_econv_result_t econv_result; + enum ruby_preserved_encindex encoding_index; enum ruby_robject_flags robject_flags; enum ruby_robject_consts robject_consts; enum ruby_rmodule_flags rmodule_flags; diff --git a/misc/lldb_cruby.py b/misc/lldb_cruby.py index 8461eea8b3..c7a25984ae 100755 --- a/misc/lldb_cruby.py +++ b/misc/lldb_cruby.py @@ -287,6 +287,8 @@ def lldb_inspect(debugger, target, result, val): append_command_output(debugger, "print *(struct RClass*)%0#x" % val.GetValueAsUnsigned(), result) elif flType == RUBY_T_STRING: result.write('T_STRING: %s' % flaginfo) + encidx = ((flags & RUBY_ENCODING_MASK)>>RUBY_ENCODING_SHIFT) + result.write('[%s] ' % target.FindFirstType("enum ruby_preserved_encindex").GetEnumMembers().GetTypeEnumMemberAtIndex(encidx).GetName()[14:]) tRString = target.FindFirstType("struct RString").GetPointerType() ptr, len = string2cstr(val.Cast(tRString)) if len == 0: |