llvm-project/lldb/examples/python/step_and_print.py
Jonas Devlieghere 2238dcc393
[NFC][Py Reformat] Reformat python files in lldb
This is an ongoing series of commits that are reformatting our Python
code. Reformatting is done with `black` (23.1.0).

If you end up having problems merging this commit because you have made
changes to a python file, the best way to handle that is to run `git
checkout --ours <yourfile>` and then reformat it with black.

RFC: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style

Differential revision: https://reviews.llvm.org/D151460
2023-05-25 12:54:09 -07:00

29 lines
917 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 -o -c step_and_print.StepAndPrint sap")