| //===-- 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." |
| ) 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; |
| |
| bool |
| ResolveFileAddress (lldb::addr_t vm_addr, |
| lldb::SBAddress& 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); |
| |
| %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); |
| |
| %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 |