Partilhar via


Enumerando módulos de símbolos

O código a seguir lista os módulos que foram carregados pelo SymLoadModule64 ou função SymInitialize. A função SymEnumerateModules64 requer uma função de retorno de chamada, que será chamada uma vez para cada módulo carregado. Neste exemplo, EnumModules é uma implementação da função callback. O exemplo pressupõe que você tenha inicializado o manipulador de símbolos usando o código em Initializing the Symbol Handler.

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