summaryrefslogtreecommitdiffstats
path: root/lldb/examples/python/cmdtemplate.py
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/examples/python/cmdtemplate.py')
-rw-r--r--lldb/examples/python/cmdtemplate.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/lldb/examples/python/cmdtemplate.py b/lldb/examples/python/cmdtemplate.py
new file mode 100644
index 00000000000..12192e9b916
--- /dev/null
+++ b/lldb/examples/python/cmdtemplate.py
@@ -0,0 +1,49 @@
+#!/usr/bin/python
+
+#----------------------------------------------------------------------
+# Be sure to add the python path that points to the LLDB shared library.
+#
+# To use this in the embedded python interpreter using "lldb":
+# % cd /path/containing/cmdtemplate.py
+# % lldb
+# (lldb) script import cmdtemplate
+#
+# For the shells csh, tcsh:
+# ( setenv PYTHONPATH /path/to/LLDB.framework/Resources/Python ; ./cmdtemplate.py )
+#
+# For the shells sh, bash:
+# PYTHONPATH=/path/to/LLDB.framework/Resources/Python ./cmdtemplate.py
+#----------------------------------------------------------------------
+
+import lldb
+import commands
+import optparse
+import shlex
+
+def ls(debugger, command, result, dict):
+ command_args = shlex.split(command)
+ usage = "usage: %prog [options] <PATH> [PATH ...]"
+ description='''This command lets you run the /bin/ls command from within lldb as a quick and easy example.'''
+ parser = optparse.OptionParser(description=description, prog='ls',usage=usage)
+ parser.add_option('-v', '--verbose', action='store_true', dest='verbose', help='display verbose debug info', default=False)
+ try:
+ (options, args) = parser.parse_args(command_args)
+ except:
+ return
+
+ for arg in args:
+ if options.verbose:
+ print commands.getoutput('/bin/ls "%s"' % arg)
+ else:
+ print commands.getoutput('/bin/ls -lAF "%s"' % arg)
+
+if __name__ == '__main__':
+ # This script is being run from the command line, create a debugger in case we are
+ # going to use any debugger functions in our function.
+ lldb.debugger = lldb.SBDebugger.Create()
+ ls (sys.argv)
+elif lldb.debugger:
+ # This script is being run from LLDB in the emabedded command interpreter
+ # Add any commands contained in this module to LLDB
+ lldb.debugger.HandleCommand('command script add -f cmdtemplate.ls ls')
+ print '"ls" command installed, type "ls --help" for detailed help'
OpenPOWER on IntegriCloud