mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Add T_IMEMO support to lldb
I'm trying to find why a reference to an IMEMO object isn't being updated
This commit is contained in:
parent
ce91c5615c
commit
7574b836a9
1 changed files with 6 additions and 0 deletions
|
|
@ -236,6 +236,12 @@ def lldb_inspect(debugger, target, result, val):
|
||||||
tRTypedData = target.FindFirstType("struct RMoved").GetPointerType()
|
tRTypedData = target.FindFirstType("struct RMoved").GetPointerType()
|
||||||
val = val.Cast(tRTypedData)
|
val = val.Cast(tRTypedData)
|
||||||
append_command_output(debugger, "p *(struct RMoved *) %0#x" % val.GetValueAsUnsigned(), result)
|
append_command_output(debugger, "p *(struct RMoved *) %0#x" % val.GetValueAsUnsigned(), result)
|
||||||
|
elif flType == RUBY_T_IMEMO:
|
||||||
|
# I'm not sure how to get IMEMO_MASK out of lldb. It's not in globals()
|
||||||
|
imemo_type = (flags >> RUBY_FL_USHIFT) & 0x0F # IMEMO_MASK
|
||||||
|
print("T_IMEMO: ", file=result)
|
||||||
|
append_command_output(debugger, "p (enum imemo_type) %d" % imemo_type, result)
|
||||||
|
append_command_output(debugger, "p *(struct MEMO *) %0#x" % val.GetValueAsUnsigned(), result)
|
||||||
else:
|
else:
|
||||||
print("Not-handled type %0#x" % flType, file=result)
|
print("Not-handled type %0#x" % flType, file=result)
|
||||||
print(val, file=result)
|
print(val, file=result)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue