You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.2 KiB
33 lines
1.2 KiB
#!/usr/bin/env python
|
|
from __future__ import print_function
|
|
|
|
import lldb
|
|
import shlex
|
|
|
|
|
|
def dump_module_sources(module, result):
|
|
if module:
|
|
print("Module: %s" % (module.file), file=result)
|
|
for compile_unit in module.compile_units:
|
|
if compile_unit.file:
|
|
print(" %s" % (compile_unit.file), file=result)
|
|
|
|
|
|
def info_sources(debugger, command, result, dict):
|
|
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.'''
|
|
module_names = shlex.split(command)
|
|
target = debugger.GetSelectedTarget()
|
|
if module_names:
|
|
for module_name in module_names:
|
|
dump_module_sources(target.module[module_name], result)
|
|
else:
|
|
for module in target.modules:
|
|
dump_module_sources(module, result)
|
|
|
|
|
|
def __lldb_init_module(debugger, dict):
|
|
# Add any commands contained in this module to LLDB
|
|
debugger.HandleCommand(
|
|
'command script add -f sources.info_sources info_sources')
|
|
print('The "info_sources" command has been installed, type "help info_sources" or "info_sources --help" for detailed help.')
|