lldb_cruby.py: fixed inspecting string [ci skip]

Show the size of String.

To see the whole contents even after NUL char:

```
(lldb) rp str
(const char [5]) $1 = "x"
(lldb) memory read -s1 --format x --count `sizeof($1)` -- &$1                                                                                          0x1010457a8: 0x78 0x00 0x61 0x61 0x61
```
This commit is contained in:
Nobuyoshi Nakada 2019-10-09 09:04:37 +09:00
Родитель 98131f148f
Коммит e078352a78
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4BC7D6DF58D8DF60
1 изменённых файлов: 2 добавлений и 5 удалений

Просмотреть файл

@ -130,11 +130,8 @@ def lldb_inspect(debugger, target, result, val):
print('T_%s: %s' % ('CLASS' if flType == RUBY_T_CLASS else 'MODULE' if flType == RUBY_T_MODULE else 'ICLASS', val.Dereference()), file=result)
elif flType == RUBY_T_STRING:
tRString = target.FindFirstType("struct RString").GetPointerType()
val = val.Cast(tRString)
if flags & RSTRING_NOEMBED:
print(val.GetValueForExpressionPath("->as.heap"), file=result)
else:
print(val.GetValueForExpressionPath("->as.ary"), file=result)
ptr, len = string2cstr(val.Cast(tRString))
append_command_output(debugger, "print *(const char (*)[%d])%0#x" % (len, ptr), result)
elif flType == RUBY_T_SYMBOL:
tRSymbol = target.FindFirstType("struct RSymbol").GetPointerType()
print(val.Cast(tRSymbol).Dereference(), file=result)