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
SBSymbolContextandSBLineEntryAttributes 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(SBCompileUnit self, …)FindLineEntryIndex(SBCompileUnit self, SBLineEntry line_entry) -> 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
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, uint32_t type_mask)GetTypes(SBCompileUnit self) -> SBTypeList
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, SBLineEntry line_entry) -> 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) → 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
-
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.
-