| from __future__ import print_function |
| import lldb |
| import sys |
| |
| |
| class WelcomeCommand(object): |
| |
| def __init__(self, debugger, session_dict): |
| pass |
| |
| def get_short_help(self): |
| return "Just a docstring for welcome_impl\nA command that says hello to LLDB users" |
| |
| def __call__(self, debugger, args, exe_ctx, result): |
| print('Hello ' + args + ', welcome to LLDB', file=result) |
| return None |
| |
| |
| class TargetnameCommand(object): |
| |
| def __init__(self, debugger, session_dict): |
| pass |
| |
| def __call__(self, debugger, args, exe_ctx, result): |
| target = debugger.GetSelectedTarget() |
| file = target.GetExecutable() |
| print('Current target ' + file.GetFilename(), file=result) |
| if args == 'fail': |
| result.SetError('a test for error in command') |
| |
| def get_flags(self): |
| return lldb.eCommandRequiresTarget |
| |
| |
| def print_wait_impl(debugger, args, result, dict): |
| result.SetImmediateOutputFile(sys.stdout) |
| print('Trying to do long task..', file=result) |
| import time |
| time.sleep(1) |
| print('Still doing long task..', file=result) |
| time.sleep(1) |
| print('Done; if you saw the delays I am doing OK', file=result) |
| |
| |
| def check_for_synchro(debugger, args, result, dict): |
| if debugger.GetAsync(): |
| print('I am running async', file=result) |
| if debugger.GetAsync() == False: |
| print('I am running sync', file=result) |
| |
| |
| def takes_exe_ctx(debugger, args, exe_ctx, result, dict): |
| print(str(exe_ctx.GetTarget()), file=result) |