Freigeben über


Aufzählen von Symbolmodulen

Der folgende Code listet die Module auf, die von der SymLoadModule64 - oder SymInitialize-Funktion geladen wurden. Die SymEnumerateModules64-Funktion erfordert eine Rückruffunktion, die für jedes geladene Modul einmal aufgerufen wird. In diesem Beispiel ist EnumModules eine Implementierung der Rückruffunktion. Im Beispiel wird davon ausgegangen, dass Sie den Symbolhandler mithilfe des Codes in Initializing the Symbol Handler initialisiert haben.

BOOL CALLBACK EnumModules(
    PCTSTR  ModuleName, 
    DWORD64 BaseOfDll,  
    PVOID   UserContext )
{
    UNREFERENCED_PARAMETER(UserContext);
    
    _tprintf(TEXT("%08X %s\n"), BaseOfDll, ModuleName);
    return TRUE;
}


if (SymEnumerateModules64(hProcess, EnumModules, NULL))
{
    // SymEnumerateModules64 returned success
}
else
{
    // SymEnumerateModules64 failed
    error = GetLastError();
    _tprintf(TEXT("SymEnumerateModules64 returned error : %d\n"), error);
}