Freigeben über


IDebugModule3::GetSymbolInfo

Ruft eine Liste von Pfaden ab, die nach Symbolen gesucht werden, sowie die Ergebnisse der Suche nach jedem Pfad.

Syntax

int GetSymbolInfo(
    enum_SYMBOL_SEARCH_INFO_FIELDS dwFields,
    MODULE_SYMBOL_SEARCH_INFO[]    pinfo
);

Parameter

dwFields
[in] Eine Kombination von Flags aus der SYMBOL_SEARCH_INFO_FIELDS Enumeration, die angibt, welche Felder pInfo ausgefüllt werden sollen.

pInfo
[out] Eine MODULE_SYMBOL_SEARCH_INFO Struktur, deren Member mit den angegebenen Informationen ausgefüllt werden sollen. Wenn es sich um einen Nullwert handelt, gibt E_INVALIDARGdiese Methode zurück.

Rückgabewert

Wenn die Methode erfolgreich ist, wird sie zurückgegeben S_OK; andernfalls wird ein Fehlercode zurückgegeben.

Hinweis

Die zurückgegebene Zeichenfolge (in der MODULE_SYMBOL_SEARCH_INFO Struktur) könnte auch dann leer sein, wenn S_OK sie zurückgegeben wird. In diesem Fall wurden keine Suchinformationen zurückgegeben.

Hinweise

Wenn das bstrVerboseSearchInfo Feld der MODULE_SYMBOL_SEARCH_INFO Struktur nicht leer ist, enthält es eine Liste der durchsuchten Pfade und die Ergebnisse dieser Suche. Die Liste ist mit einem Pfad formatiert, gefolgt von einem Auslassungszeichen ("..."), gefolgt vom Ergebnis. Wenn mehrere Pfadergebnispaare vorhanden sind, wird jedes Paar durch ein "\r\n"-Paar (Wagenrücklauf/Zeilenfeed) getrennt. Das Muster sieht wie folgt aus:

<Pfad>...<result>\r\n<path>...<result>\r\n<path>...<Ergebnis>

Beachten Sie, dass der letzte Eintrag nicht über eine \r\n-Sequenz verfügt.

Beispiel

In diesem Beispiel gibt diese Methode drei Pfade mit drei verschiedenen Suchergebnissen zurück. Jede Zeile wird mit einem Wagenrücklauf-/Zeilenfeedpaar beendet. In der Beispielausgabe werden nur die Suchergebnisse als einzelne Zeichenfolge gedruckt.

Hinweis

Ein Statusergebnis folgt sofort dem "..." bis zum Ende der Zeile.

void ShowSymbolSearchResults(IDebugModule3 *pIDebugModule3)
{
    MODULE_SYMBOL_SEARCH_INFO ssi = { 0 };
    HRESULT hr;
    hr = pIDebugModule3->GetSymbolInfo(SSIF_VERBOSE_SEARCH_INFO,&ssi);
    if (SUCCEEDED(hr)) {
        CComBSTR searchInfo = ssi.bstrVerboseSearchInfo;
        if (searchInfo.Length() != 0) {
            std::wcout << (wchar_t *)(BSTR)searchInfo;
            std::wcout << std::endl;
        }
    }
}

c:\symbols\user32.pdb... Die Datei wurde nicht gefunden.c:\winnt\symbols\user32.pdb... Die Version stimmt nicht überein.\\symbols\symbols\user32.dll\0a8sd0ad8ad\user32.pdb... Geladene Symbole.

Siehe auch