summaryrefslogtreecommitdiffstats
path: root/lldb/examples/python/step_and_print.py
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2017-10-05 00:49:49 +0000
committerJim Ingham <jingham@apple.com>2017-10-05 00:49:49 +0000
commita6976269bd3d23d9686122592db60386b7ad3006 (patch)
tree50b93c8d0093dee804c6c5da512b4cdb490a17f3 /lldb/examples/python/step_and_print.py
parent92ea28a2a3c043019618a2d0aff8376d2a508fde (diff)
downloadbcm5719-llvm-a6976269bd3d23d9686122592db60386b7ad3006.tar.gz
bcm5719-llvm-a6976269bd3d23d9686122592db60386b7ad3006.zip
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
Diffstat (limited to 'lldb/examples/python/step_and_print.py')
-rw-r--r--lldb/examples/python/step_and_print.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/lldb/examples/python/step_and_print.py b/lldb/examples/python/step_and_print.py
new file mode 100644
index 00000000000..41364ef97ba
--- /dev/null
+++ b/lldb/examples/python/step_and_print.py
@@ -0,0 +1,24 @@
+""" 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")
OpenPOWER on IntegriCloud