[Lldb-commits] [lldb] r226041 - Specify ObjC++ when running heap commands in case we are stopped in a frame with another language.

Greg Clayton gclayton at apple.com
Wed Jan 14 13:37:20 PST 2015


Author: gclayton
Date: Wed Jan 14 15:37:19 2015
New Revision: 226041

URL: http://llvm.org/viewvc/llvm-project?rev=226041&view=rev
Log:
Specify ObjC++ when running heap commands in case we are stopped in a frame with another language.

This ensures the expression gets runs with the correct language.

<rdar://problem/18816647>


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=226041&r1=226040&r2=226041&view=diff
==============================================================================
--- lldb/trunk/examples/darwin/heap_find/heap.py (original)
+++ lldb/trunk/examples/darwin/heap_find/heap.py Wed Jan 14 15:37:19 2015
@@ -406,6 +406,7 @@ info''' % (options.max_frames, options.m
     expr_options.SetIgnoreBreakpoints(True);
     expr_options.SetTimeoutInMicroSeconds (5*1000*1000) # 5 second timeout
     expr_options.SetTryAllThreads (True)
+    expr_options.SetLanguage(lldb.eLanguageTypeObjC_plus_plus)
     expr_sbvalue = frame.EvaluateExpression (expr, expr_options)
     if options.verbose:
         print "expression:"
@@ -443,6 +444,7 @@ def display_match_results (result, optio
     expr_options.SetFetchDynamicValue(lldb.eNoDynamicValues);
     expr_options.SetTimeoutInMicroSeconds (30*1000*1000) # 30 second timeout
     expr_options.SetTryAllThreads (False)
+    expr_options.SetLanguage (lldb.eLanguageTypeObjC_plus_plus)
     expr_sbvalue = frame.EvaluateExpression (expr, expr_options)
     if options.verbose:
         print "expression:"
@@ -990,6 +992,7 @@ def objc_refs(debugger, command, result,
     expr_options.SetIgnoreBreakpoints(True);
     expr_options.SetTimeoutInMicroSeconds (3*1000*1000) # 3 second infinite timeout
     expr_options.SetTryAllThreads (True)
+    expr_options.SetLanguage(lldb.eLanguageTypeObjC_plus_plus)
     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())
@@ -1093,6 +1096,7 @@ int nc = (int)objc_getClassList(baton.cl
             expr_options.SetIgnoreBreakpoints(True);
             expr_options.SetTimeoutInMicroSeconds (1*1000*1000) # 1 second timeout
             expr_options.SetTryAllThreads (True)
+            expr_options.SetLanguage(lldb.eLanguageTypeObjC_plus_plus)
             expr_sbvalue = frame.EvaluateExpression (addr_expr_str, expr_options)
             if expr_sbvalue.error.Success():
                 isa = expr_sbvalue.unsigned





More information about the lldb-commits mailing list