diff --git a/src/plugins/debugger/cdb/cdbdebugengine.cpp b/src/plugins/debugger/cdb/cdbdebugengine.cpp index cf42ce3faf25bbe91a5d79d87256afe6829b5487..a71aa2ac721553f596f1de9c6d835de54380a397 100644 --- a/src/plugins/debugger/cdb/cdbdebugengine.cpp +++ b/src/plugins/debugger/cdb/cdbdebugengine.cpp @@ -1089,6 +1089,25 @@ void CdbDebugEngine::loadAllSymbols() qDebug() << Q_FUNC_INFO; } +QList<Symbol> CdbDebugEngine::moduleSymbols(const QString &moduleName) +{ + QList<Symbol> rc; + QString errorMessage; + bool success = false; + do { + if (m_d->isDebuggeeRunning()) { + errorMessage = tr("Cannot retrieve symbols while the debuggee is running."); + break; + } + if (!getModuleSymbols(m_d->m_pDebugSymbols, moduleName, &rc, &errorMessage)) + break; + success = true; + } while (false); + if (!success) + qWarning("%s\n", qPrintable(errorMessage)); + return rc; +} + static inline int registerFormatBase() { switch(checkedRegisterFormatAction()) { diff --git a/src/plugins/debugger/cdb/cdbdebugengine.h b/src/plugins/debugger/cdb/cdbdebugengine.h index f37bade1cd3db6850bb36e1f1ccc53c174d9cd21..fe91fef5df8a150bf5e240d15e3a22c6cefbfd28 100644 --- a/src/plugins/debugger/cdb/cdbdebugengine.h +++ b/src/plugins/debugger/cdb/cdbdebugengine.h @@ -87,6 +87,7 @@ public: virtual void reloadModules(); virtual void loadSymbols(const QString &moduleName); virtual void loadAllSymbols(); + virtual QList<Symbol> moduleSymbols(const QString &moduleName); virtual void reloadRegisters(); virtual void reloadSourceFiles();