Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Carica la tabella dei simboli.
Questa funzione è stata sostituita dalla funzione SymLoadModuleEx .
Sintassi
DWORD64 IMAGEAPI SymLoadModule64(
[in] HANDLE hProcess,
[in, optional] HANDLE hFile,
[in, optional] PCSTR ImageName,
[in, optional] PCSTR ModuleName,
[in] DWORD64 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 al 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 usato il percorso di ricerca dei simboli.
[in, optional] ModuleName
Nome di 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 carico dal file di simboli. L'indirizzo di carico 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 carico 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 posticipata viene disattivata, viene eseguito un tentativo di caricare i simboli. Se il caricamento di simboli posticipati è abilitato, il modulo viene contrassegnato come posticipato e i simboli non vengono caricati finché 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. Pertanto, le chiamate da più thread a questa funzione potrebbero causare 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 Supporto della piattaforma aggiornato. SymLoadModule è definito come indicato di seguito 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 versioni successive |