Condividi tramite


Funzione SymRegisterFunctionEntryCallback64 (dbghelp.h)

Registra una funzione di callback per l'uso da parte della procedura di esecuzione dello stack nei computer Alfa.

Sintassi

BOOL IMAGEAPI SymRegisterFunctionEntryCallback64(
  [in] HANDLE                       hProcess,
  [in] PSYMBOL_FUNCENTRY_CALLBACK64 CallbackFunction,
  [in] ULONG64                      UserContext
);

Parametri

[in] hProcess

Handle per il processo passato originariamente alla funzione StackWalk64 .

[in] CallbackFunction

Funzione di callback SymRegisterFunctionEntryCallbackProc64 .

[in] UserContext

Valore definito dall'utente o NULL. Questo valore viene semplicemente passato alla funzione di callback. In genere, questo parametro viene usato da un'applicazione per passare un puntatore a una struttura di dati che consente alla funzione di callback di stabilire un contesto.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è TRUE.

Se la funzione ha esito negativo, il valore restituito è FALSE. Per recuperare informazioni sull'errore estese, chiamare GetLastError.

Commenti

La funzione SymRegisterFunctionEntryCallback64 consente a un'applicazione di registrare una funzione di callback per l'uso da parte della procedura di esecuzione dello stack. La routine stack walking chiama la funzione di callback registrata quando non è in grado di individuare una voce di tabella della funzione per un indirizzo. Nella maggior parte dei casi, la routine stack walking individua le voci della tabella della funzione nella tabella delle funzioni dell'immagine contenente l'indirizzo. Tuttavia, in situazioni in cui le voci della tabella delle funzioni non si trovano nell'immagine, questo callback consente al debugger di fornire la voce della tabella delle funzioni da un'altra origine. Ad esempio, il codice generato in fase di esecuzione nei computer Alfa può definire tabelle di funzioni dinamiche per supportare la gestione delle eccezioni e la traccia dello stack.

Tutte le funzioni DbgHelp, ad esempio questa, sono a thread singolo. Di conseguenza, le chiamate da più thread a questa funzione genereranno un comportamento imprevisto o un danneggiamento della memoria. Per evitare questo problema, è necessario sincronizzare tutte le chiamate simultanee da più thread a questa funzione.

Questa funzione sostituisce la funzione SymRegisterFunctionEntryCallback . Per altre informazioni, vedere Aggiornamento del supporto della piattaforma. SymRegisterFunctionEntryCallback è definito come segue in Dbghelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymRegisterFunctionEntryCallback SymRegisterFunctionEntryCallback64
#else
BOOL
IMAGEAPI
SymRegisterFunctionEntryCallback(
    __in HANDLE hProcess,
    __in PSYMBOL_FUNCENTRY_CALLBACK CallbackFunction,
    __in_opt PVOID UserContext
    );
#endif

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione dbghelp.h
Libreria Dbghelp.lib
DLL Dbghelp.dll
Componente ridistribuibile DbgHelp.dll 5.1 o versione successiva

Vedi anche

Funzioni DbgHelp

StackWalk64

SymRegisterFunctionEntryCallbackProc64