1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| # 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 []
|