| # encoding: utf-8 |
| |
| import lldb |
| |
| class MyFrameRecognizer(object): |
| def get_recognized_arguments(self, frame): |
| if frame.name == "foo": |
| arg1 = frame.EvaluateExpression("$arg1").signed |
| arg2 = frame.EvaluateExpression("$arg2").signed |
| val1 = frame.GetThread().GetProcess().GetTarget().CreateValueFromExpression("a", "%d" % arg1) |
| val2 = frame.GetThread().GetProcess().GetTarget().CreateValueFromExpression("b", "%d" % arg2) |
| return [val1, val2] |
| elif frame.name == "bar": |
| arg1 = frame.EvaluateExpression("$arg1").signed |
| val1 = frame.GetThread().GetProcess().GetTarget().CreateValueFromExpression("a", "(int *)%d" % arg1) |
| return [val1] |
| return [] |
| |
| class MyOtherFrameRecognizer(object): |
| def get_recognized_arguments(self, frame): |
| return [] |