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();