Funzione SymLoadModule (dbghelp.h)

Carica la tabella dei simboli.

Questa funzione è stata sostituita dalla funzione SymLoadModuleEx .

Sintassi

DWORD IMAGEAPI SymLoadModule(
  [in]           HANDLE hProcess,
  [in, optional] HANDLE hFile,
  [in, optional] PCSTR  ImageName,
  [in, optional] PCSTR  ModuleName,
  [in]           DWORD  BaseOfDll,
  [in]           DWORD  SizeOfDll
);

Parametri

[in] hProcess

Handle per il processo. Questo handle deve essere stato passato in precedenza alla funzione SymInitialize .

[in, optional] hFile

Handle per il file per l'immagine eseguibile. Questo argomento viene usato principalmente dai debugger, in cui il debugger passa l'handle di file ottenuto da un evento di debug. Un valore NULL indica che hFile non viene usato.

[in, optional] ImageName

Nome dell'immagine eseguibile. Questo nome può contenere un percorso parziale, un percorso completo o nessun percorso. Se il file non può trovarsi in base al nome specificato, viene utilizzato il percorso di ricerca dei simboli.

[in, optional] ModuleName

Nome del collegamento per il modulo. Se il valore del puntatore è NULL, la libreria crea un nome usando il nome di base del file di simboli.

[in] BaseOfDll

Indirizzo di caricamento del modulo. Se il valore è zero, la libreria ottiene l'indirizzo di caricamento dal file di simboli. L'indirizzo di caricamento contenuto nel file di simboli non è necessariamente l'indirizzo di caricamento effettivo. I debugger e altre applicazioni con un indirizzo di carico effettivo devono usare l'indirizzo di caricamento reale quando si chiama questa funzione.

Se l'immagine è un file con estensione pdb, questo parametro non può essere zero.

[in] SizeOfDll

Dimensioni del modulo, in byte. Se il valore è zero, la libreria ottiene le dimensioni dal file di simboli. Le dimensioni contenute nel file di simboli non sono necessariamente le dimensioni effettive. I debugger e altre applicazioni con dimensioni effettive devono usare le dimensioni reali quando si chiama questa funzione.

Se l'immagine è un file con estensione pdb, questo parametro non può essere zero.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è l'indirizzo di base del modulo caricato.

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

Se il modulo è già caricato, il valore restituito è zero e GetLastError restituisce ERROR_SUCCESS.

Commenti

Il gestore dei simboli crea una voce per il modulo e, se l'opzione di caricamento dei simboli posticipati è disattivata, viene effettuato un tentativo di caricare i simboli. Se il caricamento posticipato dei simboli è abilitato, il modulo viene contrassegnato come posticipato e i simboli non vengono caricati fino a quando non viene eseguito un riferimento a un simbolo nel modulo.

Per scaricare la tabella dei simboli, usare la funzione SymUnloadModule64 .

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 SymLoadModule . Per altre informazioni, vedere Aggiornamento del supporto della piattaforma. SymLoadModule è definito come segue in DbgHelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymLoadModule SymLoadModule64
#else
DWORD
IMAGEAPI
SymLoadModule(
    __in HANDLE hProcess,
    __in_opt HANDLE hFile,
    __in_opt PCSTR ImageName,
    __in_opt PCSTR ModuleName,
    __in DWORD BaseOfDll,
    __in DWORD SizeOfDll
    );
#endif

Requisiti

   
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

SymInitialize

SymUnloadModule64