Aufzählen von Symbolmodulen
Der folgende Code listet die Module auf, die von der SymLoadModule64 - oder SymInitialize-Funktion geladen wurden. Die SymEnumerateModules64-Funktion erfordert eine Rückruffunktion, die für jedes geladene Modul einmal aufgerufen wird. In diesem Beispiel ist EnumModules eine Implementierung der Rückruffunktion. Im Beispiel wird davon ausgegangen, dass Sie den Symbolhandler mithilfe des Codes in Initializing the Symbol Handler initialisiert haben.
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);
}