Package lldb :: Class SBCompileUnit |
[hide private]
[frames] | no frames]

# Class SBCompileUnit

source code

    Represents a compilation unit, or compiled source file.

    SBCompileUnit supports line entry iteration. For example,

        # Now get the SBSymbolContext from this frame.  We want everything. :-)
        context = frame0.GetSymbolContext(lldb.eSymbolContextEverything)
        ...

        compileUnit = context.GetCompileUnit()

        for lineEntry in compileUnit:
            print 'line entry: %s:%d' % (str(lineEntry.GetFileSpec()),
                                        lineEntry.GetLine())
            print 'start addr: %s' % str(lineEntry.GetStartAddress())
            print 'end   addr: %s' % str(lineEntry.GetEndAddress())

    produces:

    line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:20
    start addr: a.out[0x100000d98]
    end   addr: a.out[0x100000da3]
    line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:21
    start addr: a.out[0x100000da3]
    end   addr: a.out[0x100000da9]
    line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:22
    start addr: a.out[0x100000da9]
    end   addr: a.out[0x100000db6]
    line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:23
    start addr: a.out[0x100000db6]
    end   addr: a.out[0x100000dbc]
    ...

    See also SBSymbolContext and SBLineEntry

Instance Methods | [hide private]
__setattr__(self, name, value) x.__setattr__('name', value) <==> x.name = value | source code
__getattr__(self, name) | source code
__repr__(self) repr(x) | source code
__iter__(self) | source code
__len__(self) | source code
__init__(self, *args) __init__(lldb::SBCompileUnit self) -> SBCompileUnit __init__(lldb::SBCompileUnit self, SBCompileUnit rhs) -> SBCompileUnit | source code
__swig_destroy__(...) delete_SBCompileUnit(SBCompileUnit self) |
__del__(self) | source code
__nonzero__(self) | source code
IsValid(self) IsValid(SBCompileUnit self) -> bool | source code
GetFileSpec(self) GetFileSpec(SBCompileUnit self) -> SBFileSpec | source code
GetNumLineEntries(self) GetNumLineEntries(SBCompileUnit self) -> uint32_t | source code
GetLineEntryAtIndex(self, *args) GetLineEntryAtIndex(SBCompileUnit self, uint32_t idx) -> SBLineEntry | source code
FindLineEntryIndex(self, *args) FindLineEntryIndex(SBCompileUnit self, uint32_t start_idx, uint32_t line, SBFileSpec inline_file_spec) -> uint32_t FindLineEntryIndex(SBCompileUnit self, uint32_t start_idx, uint32_t line, SBFileSpec inline_file_spec, bool exact) -> uint32_t | source code
GetSupportFileAtIndex(self, *args) GetSupportFileAtIndex(SBCompileUnit self, uint32_t idx) -> SBFileSpec | source code
GetNumSupportFiles(self) GetNumSupportFiles(SBCompileUnit self) -> uint32_t | source code
FindSupportFileIndex(self, *args) FindSupportFileIndex(SBCompileUnit self, uint32_t start_idx, SBFileSpec sb_file, bool full) -> uint32_t | source code
GetTypes(self, *args) GetTypes(SBCompileUnit self, uint32_t type_mask=eTypeClassAny) -> SBTypeList GetTypes(SBCompileUnit self) -> SBTypeList | source code
GetDescription(self, *args) GetDescription(SBCompileUnit self, SBStream description) -> bool | source code
__str__(self) __str__(SBCompileUnit self) -> PyObject * | source code
__eq__(self, rhs) | source code
__ne__(self, rhs) | source code
Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__sizeof__`, `__subclasshook__`

Class Variables | [hide private]
| __swig_setmethods__ = ``{``}``
| __swig_getmethods__ = `{}`

Properties | [hide private]
| file A read only property that returns the same result an lldb object that represents the source file (lldb.SBFileSpec) for the compile unit.
| num_line_entries A read only property that returns the number of line entries in a compile unit as an integer.
Inherited from `object`: `__class__`

Method Details | [hide private]

### __setattr__(self, name, value) | source code
x.__setattr__('name', value) <==> x.name = value Overrides: object.__setattr__ (inherited documentation)

### __repr__(self) (Representation operator) | source code
repr(x) Overrides: object.__repr__ (inherited documentation)

### __init__(self, *args) (Constructor) | source code
__init__(lldb::SBCompileUnit self) -> SBCompileUnit __init__(lldb::SBCompileUnit self, SBCompileUnit rhs) -> SBCompileUnit Overrides: object.__init__

### GetTypes(self, *args) | source code
    GetTypes(SBCompileUnit self, uint32_t type_mask=eTypeClassAny) -> SBTypeList
    GetTypes(SBCompileUnit self) -> SBTypeList

    Get all types matching type_mask from debug info in this
    compile unit.

    @param[in] type_mask
       A bitfield that consists of one or more bits logically OR'ed
       together from the lldb::TypeClass enumeration. This allows
       you to request only structure types, or only class, struct
       and union types. Passing in lldb::eTypeClassAny will return
       all types found in the debug information for this compile
       unit.

    @return
       A list of types in this compile unit that match type_mask

### __str__(self) (Informal representation operator) | source code
__str__(SBCompileUnit self) -> PyObject * Overrides: object.__str__

Property Details | [hide private]

### file A read only property that returns the same result an lldb object that represents the source file (lldb.SBFileSpec) for the compile unit. Get Method: GetFileSpec(self) - GetFileSpec(SBCompileUnit self) -> SBFileSpec

### num_line_entries A read only property that returns the number of line entries in a compile unit as an integer. Get Method: GetNumLineEntries(self) - GetNumLineEntries(SBCompileUnit self) -> uint32_t