1#!/usr/bin/env python 2 3import lldb 4import shlex 5 6 7def dump_module_sources(module, result): 8 if module: 9 print("Module: %s" % (module.file), file=result) 10 for compile_unit in module.compile_units: 11 if compile_unit.file: 12 print(" %s" % (compile_unit.file), file=result) 13 14 15def info_sources(debugger, command, result, dict): 16 description = '''This command will dump all compile units in any modules that are listed as arguments, or for all modules if no arguments are supplied.''' 17 module_names = shlex.split(command) 18 target = debugger.GetSelectedTarget() 19 if module_names: 20 for module_name in module_names: 21 dump_module_sources(target.module[module_name], result) 22 else: 23 for module in target.modules: 24 dump_module_sources(module, result) 25 26 27def __lldb_init_module(debugger, dict): 28 # Add any commands contained in this module to LLDB 29 debugger.HandleCommand( 30 'command script add -o -f sources.info_sources info_sources') 31 print('The "info_sources" command has been installed, type "help info_sources" or "info_sources --help" for detailed help.') 32