brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · cea2fd0 Raw
33 lines · python
1#!/usr/bin/env python2 3import lldb4import shlex5 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 LLDB29    debugger.HandleCommand("command script add -o -f sources.info_sources info_sources")30    print(31        'The "info_sources" command has been installed, type "help info_sources" or "info_sources --help" for detailed help.'32    )33