1# encoding: utf-8 2 3import lldb 4 5 6class MyFrameRecognizer(object): 7 def get_recognized_arguments(self, frame): 8 if frame.name == "foo": 9 arg1 = frame.EvaluateExpression("$arg1").signed 10 arg2 = frame.EvaluateExpression("$arg2").signed 11 val1 = ( 12 frame.GetThread() 13 .GetProcess() 14 .GetTarget() 15 .CreateValueFromExpression("a", "%d" % arg1) 16 ) 17 val2 = ( 18 frame.GetThread() 19 .GetProcess() 20 .GetTarget() 21 .CreateValueFromExpression("b", "%d" % arg2) 22 ) 23 return [val1, val2] 24 elif frame.name == "bar": 25 arg1 = frame.EvaluateExpression("$arg1").signed 26 val1 = ( 27 frame.GetThread() 28 .GetProcess() 29 .GetTarget() 30 .CreateValueFromExpression("a", "(int *)%d" % arg1) 31 ) 32 return [val1] 33 return [] 34 35 36class MyOtherFrameRecognizer(object): 37 def get_recognized_arguments(self, frame): 38 return [] 39 40 41class BazFrameRecognizer(object): 42 def should_hide(self, frame): 43 return "baz" in frame.name 44