Compartir a través de


Enumerar módulos de símbolos

En el código siguiente se enumeran los módulos cargados por la función SymLoadModule64 o SymInitialize . La función SymEnumerateModules64 requiere una función de devolución de llamada, a la que se llamará una vez para cada módulo cargado. En este ejemplo, EnumModules es una implementación de la función de devolución de llamada. En el ejemplo se supone que ha inicializado el controlador de símbolos mediante el código de Inicialización del controlador de símbolos.

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