llvm-project/lldb/examples/python/step_and_print.py
Jim Ingham a6976269bd Another silly little thing you can do with Python commands.
Sometimes you want to step along and print a local each time as you go.
You can do that with stop hooks, but that's a little heavy-weight.  This
is a sketch of a command that steps and then does "frame variable" on all
its arguments.

llvm-svn: 314958
2017-10-05 00:49:49 +00:00

25 lines
886 B
Python

""" Does a step-over then prints the local variables or only the ones passed in """
import lldb
class StepAndPrint:
def __init__(self, debugger, unused):
return
def __call__(self, debugger, command, exe_ctx, result):
# Set the command to synchronous so the step will complete
# before we try to run the frame variable.
old_async = debugger.GetAsync()
debugger.SetAsync(False)
debugger.HandleCommand("thread step-over")
print("---------- Values: -------------------\n")
debugger.HandleCommand("frame variable %s"%(command))
debugger.SetAsync(old_async)
def get_short_help(self):
return "Does a step-over then runs frame variable passing the command args to it\n"
def __lldb_init_module(debugger, unused):
debugger.HandleCommand("command script add -c step_and_print.StepAndPrint sap")