[Lldb-commits] [lldb] r178628 - <rdar://problem/13416800>
Greg Clayton
gclayton at apple.com
Wed Apr 3 00:25:31 PDT 2013
Author: gclayton
Date: Wed Apr 3 02:25:30 2013
New Revision: 178628
URL: http://llvm.org/viewvc/llvm-project?rev=178628&view=rev
Log:
<rdar://problem/13416800>
ptr_refs command frequently doesn't work when run in large applicaton. This was due to the default timeout of 500ms. The timeouts have now been increased and all expression evaluations have been modified.
Modified:
lldb/trunk/examples/darwin/heap_find/heap.py
Modified: lldb/trunk/examples/darwin/heap_find/heap.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/examples/darwin/heap_find/heap.py?rev=178628&r1=178627&r2=178628&view=diff
==============================================================================
--- lldb/trunk/examples/darwin/heap_find/heap.py (original)
+++ lldb/trunk/examples/darwin/heap_find/heap.py Wed Apr 3 02:25:30 2013
@@ -399,7 +399,11 @@ info''' % (options.max_frames, options.m
expr = history_expr
else:
expr = single_expr
- expr_sbvalue = frame.EvaluateExpression (expr)
+ expr_options = lldb.SBExpressionOptions()
+ expr_options.SetIgnoreBreakpoints(True);
+ expr_options.SetTimeoutInMicroSeconds (5*1000*1000) # 5 second timeout
+ expr_options.SetTryAllThreads (True)
+ expr_sbvalue = frame.EvaluateExpression (expr, expr_options)
if options.verbose:
print "expression:"
print expr
@@ -431,7 +435,12 @@ def display_match_results (result, optio
if not frame:
result.AppendMessage('error: invalid frame')
return 0
- expr_sbvalue = frame.EvaluateExpression (expr)
+ expr_options = lldb.SBExpressionOptions()
+ expr_options.SetIgnoreBreakpoints(True);
+ expr_options.SetFetchDynamicValue(lldb.eNoDynamicValues);
+ expr_options.SetTimeoutInMicroSeconds (30*1000*1000) # 30 second timeout
+ expr_options.SetTryAllThreads (False)
+ expr_sbvalue = frame.EvaluateExpression (expr, expr_options)
if options.verbose:
print "expression:"
print expr
@@ -977,7 +986,11 @@ def objc_refs(debugger, command, result,
if options.format == None:
options.format = "A" # 'A' is "address" format
- num_objc_classes_value = frame.EvaluateExpression("(int)objc_getClassList((void *)0, (int)0)")
+ expr_options = lldb.SBExpressionOptions()
+ expr_options.SetIgnoreBreakpoints(True);
+ expr_options.SetTimeoutInMicroSeconds (3*1000*1000) # 3 second infinite timeout
+ expr_options.SetTryAllThreads (True)
+ num_objc_classes_value = frame.EvaluateExpression("(int)objc_getClassList((void *)0, (int)0)", expr_options)
if not num_objc_classes_value.error.Success():
result.AppendMessage('error: %s' % num_objc_classes_value.error.GetCString())
return
@@ -1074,7 +1087,11 @@ int nc = (int)objc_getClassList(baton.cl
# Iterate through all of our ObjC class name arguments
for class_name in args:
addr_expr_str = "(void *)[%s class]" % class_name
- expr_sbvalue = frame.EvaluateExpression (addr_expr_str)
+ expr_options = lldb.SBExpressionOptions()
+ expr_options.SetIgnoreBreakpoints(True);
+ expr_options.SetTimeoutInMicroSeconds (1*1000*1000) # 1 second timeout
+ expr_options.SetTryAllThreads (True)
+ expr_sbvalue = frame.EvaluateExpression (addr_expr_str, expr_options)
if expr_sbvalue.error.Success():
isa = expr_sbvalue.unsigned
if isa:
More information about the lldb-commits
mailing list