Index: trunk/src/VBox/Runtime/common/ldr/ldrELFRelocatable.cpp.h
===================================================================
--- trunk/src/VBox/Runtime/common/ldr/ldrELFRelocatable.cpp.h	(revision 37596)
+++ trunk/src/VBox/Runtime/common/ldr/ldrELFRelocatable.cpp.h	(revision 38515)
@@ -685,4 +685,14 @@
 
 
+/** @copydoc RTLDROPS::pfnEnumDbgInfo */
+static DECLCALLBACK(int) RTLDRELF_NAME(EnumDbgInfo)(PRTLDRMODINTERNAL pMod, const void *pvBits,
+                                                    PFNRTLDRENUMDBG pfnCallback, void *pvUser)
+{
+    PRTLDRMODELF pModElf = (PRTLDRMODELF)pMod;
+    NOREF(pvBits);
+
+    return VERR_NOT_IMPLEMENTED;
+}
+
 
 /**
@@ -705,5 +715,6 @@
     RTLDRELF_NAME(Relocate),
     RTLDRELF_NAME(GetSymbolEx),
-    0
+    RTLDRELF_NAME(EnumDbgInfo),
+    42
 };
 
Index: trunk/src/VBox/Runtime/common/ldr/ldrEx.cpp
===================================================================
--- trunk/src/VBox/Runtime/common/ldr/ldrEx.cpp	(revision 37596)
+++ trunk/src/VBox/Runtime/common/ldr/ldrEx.cpp	(revision 38515)
@@ -340,5 +340,5 @@
 RTDECL(int) RTLdrEnumSymbols(RTLDRMOD hLdrMod, unsigned fFlags, const void *pvBits, RTUINTPTR BaseAddress, PFNRTLDRENUMSYMS pfnCallback, void *pvUser)
 {
-    LogFlow(("RTLdrEnumSymbols: hLdrMod=%RTldrm fFlags=%#x pvBit=%p BaseAddress=%RTptr pfnCallback=%p pvUser=%p\n",
+    LogFlow(("RTLdrEnumSymbols: hLdrMod=%RTldrm fFlags=%#x pvBits=%p BaseAddress=%RTptr pfnCallback=%p pvUser=%p\n",
              hLdrMod, fFlags, pvBits, BaseAddress, pfnCallback, pvUser));
 
@@ -361,2 +361,31 @@
 RT_EXPORT_SYMBOL(RTLdrEnumSymbols);
 
+
+RTDECL(int) RTLdrEnumDbgInfo(RTLDRMOD hLdrMod, const void *pvBits, PFNRTLDRENUMDBG pfnCallback, void *pvUser)
+{
+    LogFlow(("RTLdrEnumDbgInfo: hLdrMod=%RTldrm pvBits=%p pfnCallback=%p pvUser=%p\n",
+             hLdrMod, pvBits, pfnCallback, pvUser));
+
+    /*
+     * Validate input.
+     */
+    AssertMsgReturn(rtldrIsValid(hLdrMod), ("hLdrMod=%p\n", hLdrMod), VERR_INVALID_HANDLE);
+    AssertMsgReturn(!pvBits || RT_VALID_PTR(pvBits), ("pvBits=%p\n", pvBits), VERR_INVALID_PARAMETER);
+    AssertMsgReturn(RT_VALID_PTR(pfnCallback), ("pfnCallback=%p\n", pfnCallback), VERR_INVALID_PARAMETER);
+    PRTLDRMODINTERNAL pMod = (PRTLDRMODINTERNAL)hLdrMod;
+    //AssertMsgReturn(pMod->eState == LDR_STATE_OPENED, ("eState=%d\n", pMod->eState), VERR_WRONG_ORDER);
+
+    /*
+     * Do it.
+     */
+    int rc;
+    if (pMod->pOps->pfnEnumDbgInfo)
+        rc = pMod->pOps->pfnEnumDbgInfo(pMod, pvBits, pfnCallback, pvUser);
+    else
+        rc = VERR_NOT_SUPPORTED;
+
+    LogFlow(("RTLdrEnumDbgInfo: returns %Rrc\n", rc));
+    return rc;
+}
+RT_EXPORT_SYMBOL(RTLdrEnumDbgInfo);
+
Index: trunk/src/VBox/Runtime/common/ldr/ldrNative.cpp
===================================================================
--- trunk/src/VBox/Runtime/common/ldr/ldrNative.cpp	(revision 37596)
+++ trunk/src/VBox/Runtime/common/ldr/ldrNative.cpp	(revision 38515)
@@ -69,4 +69,5 @@
     rtldrNativeEnumSymbols,
     /* ext: */
+    NULL,
     NULL,
     NULL,
Index: trunk/src/VBox/Runtime/common/ldr/ldrPE.cpp
===================================================================
--- trunk/src/VBox/Runtime/common/ldr/ldrPE.cpp	(revision 37596)
+++ trunk/src/VBox/Runtime/common/ldr/ldrPE.cpp	(revision 38515)
@@ -768,4 +768,12 @@
 
 
+/** @copydoc RTLDROPS::pfnEnumDbgInfo. */
+static DECLCALLBACK(int) rtldrPE_EnumDbgInfo(PRTLDRMODINTERNAL pMod, const void *pvBits,
+                                             PFNRTLDRENUMDBG pfnCallback, void *pvUser)
+{
+    return VINF_NOT_SUPPORTED;
+}
+
+
 /** @copydoc RTLDROPS::pfnDone */
 static DECLCALLBACK(int) rtldrPEDone(PRTLDRMODINTERNAL pMod)
@@ -826,4 +834,5 @@
         rtldrPERelocate,
         rtldrPEGetSymbolEx,
+        rtldrPE_EnumDbgInfo,
         42
     },
@@ -849,4 +858,5 @@
         rtldrPERelocate,
         rtldrPEGetSymbolEx,
+        rtldrPE_EnumDbgInfo,
         42
     },
Index: trunk/src/VBox/Runtime/common/ldr/ldrkStuff.cpp
===================================================================
--- trunk/src/VBox/Runtime/common/ldr/ldrkStuff.cpp	(revision 37596)
+++ trunk/src/VBox/Runtime/common/ldr/ldrkStuff.cpp	(revision 38515)
@@ -136,4 +136,6 @@
 static DECLCALLBACK(int) rtkldrGetSymbolEx(PRTLDRMODINTERNAL pMod, const void *pvBits, RTUINTPTR BaseAddress,
                                            const char *pszSymbol, RTUINTPTR *pValue);
+static DECLCALLBACK(int) rtkldr_EnumDbgInfo(PRTLDRMODINTERNAL pMod, const void *pvBits,
+                                            PFNRTLDRENUMDBG pfnCallback, void *pvUser);
 
 
@@ -442,4 +444,5 @@
     rtkldrRelocate,
     rtkldrGetSymbolEx,
+    rtkldr_EnumDbgInfo,
     42
 };
@@ -627,4 +630,11 @@
 }
 
+
+/** @copydoc RTLDROPS::pfnEnumDbgInfo */
+static DECLCALLBACK(int) rtkldr_EnumDbgInfo(PRTLDRMODINTERNAL pMod, const void *pvBits,
+                                            PFNRTLDRENUMDBG pfnCallback, void *pvUser)
+{
+    return VERR_NOT_SUPPORTED;
+}
 
 
