列舉符號模組

下列程式代碼會列出 SymLoadModule64 SymInitialize 函式已載入的模組。 SymEnumerateModules64 函式需要回呼函式,這會針對每個載入的模組呼叫一次。 在此範例中,EnumModules 是回呼函式的實作。 此範例假設您已使用初始化符號處理程式中的 程式代碼來初始化符號處理程式

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