Condividi tramite


Enumerazione dei moduli simbolo

Il codice seguente elenca i moduli caricati dalla funzione SymLoadModule64 o SymInitialize. La funzione SymEnumerateModules64 richiede una funzione di callback, che verrà chiamata una volta per ogni modulo caricato. In questo esempio EnumModules è un'implementazione della funzione di callback. Nell'esempio si presuppone che il gestore dei simboli sia stato inizializzato usando il codice in Inizializzazione del gestore simboli.

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