diff --git a/lldb/include/lldb/API/SBModule.h b/lldb/include/lldb/API/SBModule.h index 85332066ee687..651455bdb78d2 100644 --- a/lldb/include/lldb/API/SBModule.h +++ b/lldb/include/lldb/API/SBModule.h @@ -290,6 +290,9 @@ class LLDB_API SBModule { lldb::SBAddress GetObjectFileHeaderAddress() const; lldb::SBAddress GetObjectFileEntryPointAddress() const; + /// Get if the symbol file for this module is loaded. + bool IsDebugInfoLoaded() const; + /// Get the number of global modules. static uint32_t GetNumberAllocatedModules(); diff --git a/lldb/source/API/SBModule.cpp b/lldb/source/API/SBModule.cpp index 985107ec68efd..4978a553f57c7 100644 --- a/lldb/source/API/SBModule.cpp +++ b/lldb/source/API/SBModule.cpp @@ -659,6 +659,18 @@ lldb::SBAddress SBModule::GetObjectFileEntryPointAddress() const { return sb_addr; } +bool SBModule::IsDebugInfoLoaded() const { + LLDB_INSTRUMENT_VA(this); + + ModuleSP module_sp(GetSP()); + if (module_sp) { + SymbolFile *sym_file = module_sp->GetSymbolFile(/*create=*/false); + return sym_file && sym_file->GetLoadDebugInfoEnabled(); + } + + return false; +} + uint32_t SBModule::GetNumberAllocatedModules() { LLDB_INSTRUMENT();