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