teak-llvm/lldb/packages/Python/lldbsuite/test/commands/frame/recognizer/recognizer.py
Jonas Devlieghere 20b52c33ba [ScriptInterpreter] Limit LLDB's globals to interactive mode.
Jim pointed out that the LLDB global variables should only be available
in interactive mode. When used from a command for example, their values
might be stale or not at all what the user expects. Therefore we want to
explicitly make these variables unavailable.

Differential revision: https://reviews.llvm.org/D67685

llvm-svn: 372192
2019-09-18 00:30:01 +00:00

22 lines
863 B
Python

# 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 []