xref: /llvm-project/lldb/examples/python/step_and_print.py (revision 2238dcc39358353cac21df75c3c3286ab20b8f53)
1""" Does a step-over then prints the local variables or only the ones passed in """
2import lldb
3
4
5class StepAndPrint:
6    def __init__(self, debugger, unused):
7        return
8
9    def __call__(self, debugger, command, exe_ctx, result):
10        # Set the command to synchronous so the step will complete
11        # before we try to run the frame variable.
12        old_async = debugger.GetAsync()
13        debugger.SetAsync(False)
14
15        debugger.HandleCommand("thread step-over")
16        print("---------- Values: -------------------\n")
17        debugger.HandleCommand("frame variable %s" % (command))
18
19        debugger.SetAsync(old_async)
20
21    def get_short_help(self):
22        return (
23            "Does a step-over then runs frame variable passing the command args to it\n"
24        )
25
26
27def __lldb_init_module(debugger, unused):
28    debugger.HandleCommand("command script add -o -c step_and_print.StepAndPrint sap")
29