summaryrefslogtreecommitdiff
path: root/chromium/v8/tools/lldb_commands.py
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/tools/lldb_commands.py')
-rw-r--r--chromium/v8/tools/lldb_commands.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/chromium/v8/tools/lldb_commands.py b/chromium/v8/tools/lldb_commands.py
index 2884cd60b01..dc96e5747d0 100644
--- a/chromium/v8/tools/lldb_commands.py
+++ b/chromium/v8/tools/lldb_commands.py
@@ -21,8 +21,17 @@ def current_frame(debugger):
return current_thread(debugger).GetSelectedFrame()
def no_arg_cmd(debugger, cmd):
- current_frame(debugger).EvaluateExpression(cmd)
- print("")
+ evaluate_result = current_frame(debugger).EvaluateExpression(cmd)
+ # When a void function is called the return value type is 0x1001 which
+ # is specified in http://tiny.cc/bigskz. This does not indicate
+ # an error so we check for that value below.
+ kNoResult = 0x1001
+ error = evaluate_result.GetError()
+ if error.fail and error.value != kNoResult:
+ print("Failed to evaluate command {} :".format(cmd))
+ print(error.description)
+ else:
+ print("")
def ptr_arg_cmd(debugger, name, param, cmd):
if not param:
@@ -41,7 +50,7 @@ def job(debugger, param, *args):
def jlh(debugger, param, *args):
"""Print v8::Local handle value"""
ptr_arg_cmd(debugger, 'jlh', param,
- "_v8_internal_Print_Object(*(v8::internal::Object**)(*{}))")
+ "_v8_internal_Print_Object(*(v8::internal::Object**)({}.val_))")
def jco(debugger, param, *args):
"""Print the code object at the given pc (default: current pc)"""