diff options
author | Nobuyoshi Nakada <[email protected]> | 2020-06-23 15:52:37 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2020-06-23 15:56:59 +0900 |
commit | 6aa3aaac054619942762447bd60a5e26966305c2 (patch) | |
tree | 6100eead3a536b041c59c0272119acadfe2adc7e | |
parent | 078e94106d7ffb171fcc8067679268b62369e506 (diff) |
lldb_cruby.py: show the sign of Bignum [ci skip]
-rwxr-xr-x | misc/lldb_cruby.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/misc/lldb_cruby.py b/misc/lldb_cruby.py index fff8cc776a..73916713e9 100755 --- a/misc/lldb_cruby.py +++ b/misc/lldb_cruby.py @@ -176,13 +176,14 @@ def lldb_inspect(debugger, target, result, val): elif flType == RUBY_T_BIGNUM: tRBignum = target.FindFirstType("struct RBignum").GetPointerType() val = val.Cast(tRBignum) + sign = '+' if (flags & RUBY_FL_USER1) != 0 else '-' if flags & RUBY_FL_USER2: len = ((flags & (RUBY_FL_USER3|RUBY_FL_USER4|RUBY_FL_USER5)) >> (RUBY_FL_USHIFT+3)) - print("T_BIGNUM: len=%d (embed)" % len, file=result) + print("T_BIGNUM: sign=%s len=%d (embed)" % (sign, len), file=result) append_command_output(debugger, "print ((struct RBignum *) %0#x)->as.ary" % val.GetValueAsUnsigned(), result) else: len = val.GetValueForExpressionPath("->as.heap.len").GetValueAsSigned() - print("T_BIGNUM: len=%d" % len, file=result) + print("T_BIGNUM: sign=%s len=%d" % (sign, len), file=result) print(val.Dereference(), file=result) append_command_output(debugger, "expression -Z %x -fx -- (const BDIGIT*)((struct RBignum*)%d)->as.heap.digits" % (len, val.GetValueAsUnsigned()), result) # append_command_output(debugger, "x ((struct RBignum *) %0#x)->as.heap.digits / %d" % (val.GetValueAsUnsigned(), len), result) |