Partager via


Énumération des modules de symboles

Le code suivant répertorie les modules qui ont été chargés par la fonction SymLoadModule64 ou SymInitialize . La fonction SymEnumerateModules64 nécessite une fonction de rappel, qui sera appelée une fois pour chaque module chargé. Dans cet exemple, EnumModules est une implémentation de la fonction de rappel. L’exemple suppose que vous avez initialisé le gestionnaire de symboles à l’aide du code dans Initialisation du gestionnaire de symboles.

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