aboutsummaryrefslogtreecommitdiff
path: root/examples/python/lldb_module_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/python/lldb_module_utils.py')
-rw-r--r--examples/python/lldb_module_utils.py57
1 files changed, 38 insertions, 19 deletions
diff --git a/examples/python/lldb_module_utils.py b/examples/python/lldb_module_utils.py
index 37f33ba416a5..eb00a489ce01 100644
--- a/examples/python/lldb_module_utils.py
+++ b/examples/python/lldb_module_utils.py
@@ -6,18 +6,29 @@ import shlex
import string
import sys
-def create_dump_module_line_tables_options ():
+
+def create_dump_module_line_tables_options():
usage = "usage: dump_module_line_tables [options] MODULE1 [MODULE2 ...]"
- description='''Dumps all line tables from all compile units for any modules specified as arguments. Specifying the --verbose flag will output address ranges for each line entry.'''
- parser = optparse.OptionParser(description=description, prog='start_gdb_log',usage=usage)
- parser.add_option('-v', '--verbose', action='store_true', dest='verbose', help='Display verbose output.', default=False)
+ description = '''Dumps all line tables from all compile units for any modules specified as arguments. Specifying the --verbose flag will output address ranges for each line entry.'''
+ parser = optparse.OptionParser(
+ description=description,
+ prog='start_gdb_log',
+ usage=usage)
+ parser.add_option(
+ '-v',
+ '--verbose',
+ action='store_true',
+ dest='verbose',
+ help='Display verbose output.',
+ default=False)
return parser
-
+
+
def dump_module_line_tables(debugger, command, result, dict):
'''Dumps all line tables from all compile units for any modules specified as arguments.'''
command_args = shlex.split(command)
-
- parser = create_dump_module_line_tables_options ()
+
+ parser = create_dump_module_line_tables_options()
try:
(options, args) = parser.parse_args(command_args)
except:
@@ -27,33 +38,41 @@ def dump_module_line_tables(debugger, command, result, dict):
lldb.target = target
for module_name in command_args:
result.PutCString('Searching for module "%s"' % (module_name,))
- module_fspec = lldb.SBFileSpec (module_name, False)
- module = target.FindModule (module_fspec);
+ module_fspec = lldb.SBFileSpec(module_name, False)
+ module = target.FindModule(module_fspec)
if module:
- for cu_idx in range (module.GetNumCompileUnits()):
+ for cu_idx in range(module.GetNumCompileUnits()):
cu = module.GetCompileUnitAtIndex(cu_idx)
result.PutCString("\n%s:" % (cu.file))
for line_idx in range(cu.GetNumLineEntries()):
line_entry = cu.GetLineEntryAtIndex(line_idx)
start_file_addr = line_entry.addr.file_addr
end_file_addr = line_entry.end_addr.file_addr
- # If the two addresses are equal, this line table entry is a termination entry
+ # If the two addresses are equal, this line table entry
+ # is a termination entry
if options.verbose:
if start_file_addr != end_file_addr:
- result.PutCString('[%#x - %#x): %s' % (start_file_addr, end_file_addr, line_entry))
+ result.PutCString(
+ '[%#x - %#x): %s' %
+ (start_file_addr, end_file_addr, line_entry))
else:
if start_file_addr == end_file_addr:
- result.PutCString('%#x: END' % (start_file_addr))
+ result.PutCString('%#x: END' %
+ (start_file_addr))
else:
- result.PutCString('%#x: %s' % (start_file_addr, line_entry))
+ result.PutCString(
+ '%#x: %s' %
+ (start_file_addr, line_entry))
if start_file_addr == end_file_addr:
result.Printf("\n")
else:
- result.PutCString ("no module for '%s'" % module)
+ result.PutCString("no module for '%s'" % module)
else:
- result.PutCString ("error: invalid target")
+ result.PutCString("error: invalid target")
-parser = create_dump_module_line_tables_options ()
+parser = create_dump_module_line_tables_options()
dump_module_line_tables.__doc__ = parser.format_help()
-lldb.debugger.HandleCommand('command script add -f %s.dump_module_line_tables dump_module_line_tables' % __name__)
-print 'Installed "dump_module_line_tables" command' \ No newline at end of file
+lldb.debugger.HandleCommand(
+ 'command script add -f %s.dump_module_line_tables dump_module_line_tables' %
+ __name__)
+print 'Installed "dump_module_line_tables" command'