Funzione SplitSymbols (imagehlp.h)

Rimuove i simboli dall'immagine specificata.

Sintassi

BOOL IMAGEAPI SplitSymbols(
  [in]  PSTR  ImageName,
  [in]  PCSTR SymbolsPath,
  [out] PSTR  SymbolFilePath,
  [in]  ULONG Flags
);

Parametri

[in] ImageName

Nome dell'immagine da cui dividere i simboli.

[in] SymbolsPath

Sottodirectory per l'archiviazione dei simboli. Questo parametro è facoltativo e,

[out] SymbolFilePath

Nome del file di simboli generato. Questo file ha in genere un'estensione dbg.

[in] Flags

Informazioni da dividere dall'immagine. Questo parametro può essere zero o una combinazione dei valori seguenti.

Valore Significato
SPLITSYM_EXTRACT_ALL
0x00000002
In genere, un'immagine con i simboli separati conterrà comunque una directory di debug MISC con il nome del file di simboli. Pertanto, il debugger può comunque trovare i simboli. L'uso di questo flag rimuove questo collegamento. Il risultato finale è simile all'uso dell'opzione -debug:none sul linker Microsoft.
SPLITSYM_REMOVE_PRIVATE
0x00000001
Questa operazione rimuove le informazioni simboliche private di CodeView durante la generazione del file di simboli.
SPLITSYM_SYMBOLPATH_IS_SRC
0x00000004
Il percorso del file di simboli contiene un percorso alternativo per individuare il file pdb.

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 SplitSymbols deve essere usata durante la rimozione dei simboli da un'immagine. Creerà un file di simboli che tutti i debugger compatibili comprendono. Il formato è definito in WinNT.h e è costituito da un'intestazione di immagine, seguita dalla matrice di intestazioni di sezione, dalle informazioni FPO e da tutte le informazioni simboliche di debug dall'immagine.

Se il parametro SymbolsPath è NULL, il file di simboli viene archiviato nella directory in cui esiste l'immagine. In caso contrario, viene archiviato nella sottodirectory seguente SymbolsPath che corrisponde all'estensione dell'immagine. L'uso di questo metodo riduce le probabilità di collisione tra file di simboli. Ad esempio, i simboli per myapp.exe saranno presenti nella directory SymbolsPath\exe e i simboli per myapp.dll saranno presenti nella directory SymbolsPath\dll.

Tutte le funzioni ImageHlp, 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.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione imagehlp.h
Libreria Imagehlp.lib
DLL Imagehlp.dll

Vedi anche

Funzioni ImageHlp