forked from OSchip/llvm-project
183 lines
5.7 KiB
C++
183 lines
5.7 KiB
C++
//===-- SWIG Interface for SBModule -----------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
namespace lldb {
|
|
|
|
%feature("docstring",
|
|
"Represents an executable image and its associated object and symbol files.
|
|
|
|
The module is designed to be able to select a single slice of an
|
|
executable image as it would appear on disk and during program
|
|
execution.
|
|
|
|
You can retrieve SBModule from SBSymbolContext, which in turn is available
|
|
from SBFrame.
|
|
|
|
SBModule supports symbol iteration, for example,
|
|
|
|
for symbol in module:
|
|
name = symbol.GetName()
|
|
saddr = symbol.GetStartAddress()
|
|
eaddr = symbol.GetEndAddress()
|
|
|
|
and rich comparion methods which allow the API program to use,
|
|
|
|
if thisModule == thatModule:
|
|
print 'This module is the same as that module'
|
|
|
|
to test module equality. A module also contains object file sections, namely
|
|
SBSection. SBModule supports section iteration through section_iter()."
|
|
) SBModule;
|
|
class SBModule
|
|
{
|
|
public:
|
|
|
|
SBModule ();
|
|
|
|
SBModule (const SBModule &rhs);
|
|
|
|
~SBModule ();
|
|
|
|
bool
|
|
IsValid () const;
|
|
|
|
%feature("docstring", "
|
|
//------------------------------------------------------------------
|
|
/// Get const accessor for the module file specification.
|
|
///
|
|
/// This function returns the file for the module on the host system
|
|
/// that is running LLDB. This can differ from the path on the
|
|
/// platform since we might be doing remote debugging.
|
|
///
|
|
/// @return
|
|
/// A const reference to the file specification object.
|
|
//------------------------------------------------------------------
|
|
") GetFileSpec;
|
|
lldb::SBFileSpec
|
|
GetFileSpec () const;
|
|
|
|
%feature("docstring", "
|
|
//------------------------------------------------------------------
|
|
/// Get accessor for the module platform file specification.
|
|
///
|
|
/// Platform file refers to the path of the module as it is known on
|
|
/// the remote system on which it is being debugged. For local
|
|
/// debugging this is always the same as Module::GetFileSpec(). But
|
|
/// remote debugging might mention a file '/usr/lib/liba.dylib'
|
|
/// which might be locally downloaded and cached. In this case the
|
|
/// platform file could be something like:
|
|
/// '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib'
|
|
/// The file could also be cached in a local developer kit directory.
|
|
///
|
|
/// @return
|
|
/// A const reference to the file specification object.
|
|
//------------------------------------------------------------------
|
|
") GetPlatformFileSpec;
|
|
lldb::SBFileSpec
|
|
GetPlatformFileSpec () const;
|
|
|
|
bool
|
|
SetPlatformFileSpec (const lldb::SBFileSpec &platform_file);
|
|
|
|
%feature("docstring", "Returns the UUID of the module as a Python string."
|
|
) GetUUIDString;
|
|
const char *
|
|
GetUUIDString () const;
|
|
|
|
lldb::SBSection
|
|
FindSection (const char *sect_name);
|
|
|
|
lldb::SBAddress
|
|
ResolveFileAddress (lldb::addr_t vm_addr);
|
|
|
|
lldb::SBSymbolContext
|
|
ResolveSymbolContextForAddress (const lldb::SBAddress& addr,
|
|
uint32_t resolve_scope);
|
|
|
|
bool
|
|
GetDescription (lldb::SBStream &description);
|
|
|
|
size_t
|
|
GetNumSymbols ();
|
|
|
|
lldb::SBSymbol
|
|
GetSymbolAtIndex (size_t idx);
|
|
|
|
size_t
|
|
GetNumSections ();
|
|
|
|
lldb::SBSection
|
|
GetSectionAtIndex (size_t idx);
|
|
|
|
|
|
%feature("docstring", "
|
|
//------------------------------------------------------------------
|
|
/// Find functions by name.
|
|
///
|
|
/// @param[in] name
|
|
/// The name of the function we are looking for.
|
|
///
|
|
/// @param[in] name_type_mask
|
|
/// A logical OR of one or more FunctionNameType enum bits that
|
|
/// indicate what kind of names should be used when doing the
|
|
/// lookup. Bits include fully qualified names, base names,
|
|
/// C++ methods, or ObjC selectors.
|
|
/// See FunctionNameType for more details.
|
|
///
|
|
/// @param[in] append
|
|
/// If true, any matches will be appended to \a sc_list, else
|
|
/// matches replace the contents of \a sc_list.
|
|
///
|
|
/// @param[out] sc_list
|
|
/// A symbol context list that gets filled in with all of the
|
|
/// matches.
|
|
///
|
|
/// @return
|
|
/// The number of matches added to \a sc_list.
|
|
//------------------------------------------------------------------
|
|
") FindFunctions;
|
|
uint32_t
|
|
FindFunctions (const char *name,
|
|
uint32_t name_type_mask, // Logical OR one or more FunctionNameType enum bits
|
|
bool append,
|
|
lldb::SBSymbolContextList& sc_list);
|
|
|
|
lldb::SBType
|
|
FindFirstType (const char* name);
|
|
|
|
lldb::SBTypeList
|
|
FindTypes (const char* type);
|
|
|
|
|
|
%feature("docstring", "
|
|
//------------------------------------------------------------------
|
|
/// Find global and static variables by name.
|
|
///
|
|
/// @param[in] target
|
|
/// A valid SBTarget instance representing the debuggee.
|
|
///
|
|
/// @param[in] name
|
|
/// The name of the global or static variable we are looking
|
|
/// for.
|
|
///
|
|
/// @param[in] max_matches
|
|
/// Allow the number of matches to be limited to \a max_matches.
|
|
///
|
|
/// @return
|
|
/// A list of matched variables in an SBValueList.
|
|
//------------------------------------------------------------------
|
|
") FindGlobalVariables;
|
|
lldb::SBValueList
|
|
FindGlobalVariables (lldb::SBTarget &target,
|
|
const char *name,
|
|
uint32_t max_matches);
|
|
};
|
|
|
|
} // namespace lldb
|