Author: jingham Date: Wed Oct 4 17:49:49 2017 New Revision: 314958 URL: http://llvm.org/viewvc/llvm-project?rev=314958&view=rev Log: 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. Added: lldb/trunk/examples/python/step_and_print.py Added: lldb/trunk/examples/python/step_and_print.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/examples/python/step_and_print.py?rev=314958&view=auto ============================================================================== --- lldb/trunk/examples/python/step_and_print.py (added) +++ lldb/trunk/examples/python/step_and_print.py Wed Oct 4 17:49:49 2017 @@ -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") _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits