SBCompileUnit#
- class lldb.SBCompileUnit(*args)#
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
andSBLineEntry
Attributes Summary
A read only property that returns the same result an lldb object that represents the source file (lldb.SBFileSpec) for the compile unit.
A read only property that returns the number of line entries in a compile unit as an integer.
Methods Summary
FindLineEntryIndex
(-> uint32_t -> uint32_t)Get the index for a provided line entry in this compile unit.
FindSupportFileIndex
(SBCompileUnit self, ...)GetDescription
(SBCompileUnit self, ...)GetFileSpec
(SBCompileUnit self)GetLanguage
(SBCompileUnit self)GetLineEntryAtIndex
(SBCompileUnit self, ...)GetNumLineEntries
(SBCompileUnit self)GetNumSupportFiles
(SBCompileUnit self)GetSupportFileAtIndex
(SBCompileUnit self, ...)GetTypes
(SBCompileUnit self, ...)Get all types matching type_mask from debug info in this compile unit.
IsValid
(SBCompileUnit self)Attributes Documentation
- 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.
Methods Documentation
- FindLineEntryIndex(SBCompileUnit self, SBLineEntry line_entry, bool exact=False) uint32_t #
- 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
Get the index for a provided line entry in this compile unit.
- @param[in] line_entry
The SBLineEntry object for which we are looking for the index.
- @param[in] exact
An optional boolean defaulting to false that ensures that the provided line entry has a perfect match in the compile unit.
- @return
The index of the user-provided line entry. UINT32_MAX if the line entry was not found in the compile unit.
- FindSupportFileIndex(SBCompileUnit self, uint32_t start_idx, SBFileSpec sb_file, bool full) uint32_t #
- GetDescription(SBCompileUnit self, SBStream description) bool #
- GetFileSpec(SBCompileUnit self) SBFileSpec #
- GetLanguage(SBCompileUnit self) lldb::LanguageType #
- GetLineEntryAtIndex(SBCompileUnit self, uint32_t idx) SBLineEntry #
- GetNumLineEntries(SBCompileUnit self) uint32_t #
- GetNumSupportFiles(SBCompileUnit self) uint32_t #
- GetSupportFileAtIndex(SBCompileUnit self, uint32_t idx) SBFileSpec #
- GetTypes(SBCompileUnit self, uint32_t type_mask=eTypeClassAny) 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
- IsValid(SBCompileUnit self) bool #
- __iter__()#
Iterate over all line entries in a lldb.SBCompileUnit object.
- __len__()#
Return the number of line entries in a lldb.SBCompileUnit object.