Compartilhar via


Função SplitSymbols (imagehlp.h)

Remove símbolos da imagem especificada.

Sintaxe

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

Parâmetros

[in] ImageName

O nome da imagem da qual dividir símbolos.

[in] SymbolsPath

O subdiretório para armazenar símbolos. Esse parâmetro é opcional.

[out] SymbolFilePath

O nome do arquivo de símbolo gerado. Normalmente, esse arquivo tem uma extensão .dbg.

[in] Flags

As informações a serem divididas da imagem. Esse parâmetro pode ser zero ou uma combinação dos valores a seguir.

Valor Significado
SPLITSYM_EXTRACT_ALL
0x00000002
Normalmente, uma imagem com os símbolos divididos ainda conterá um diretório de depuração MISC com o nome do arquivo de símbolo. Portanto, o depurador ainda pode encontrar os símbolos. O uso desse sinalizador remove esse link. O resultado final é semelhante ao uso da opção -debug:none no vinculador da Microsoft.
SPLITSYM_REMOVE_PRIVATE
0x00000001
Isso remove as informações simbólicas privadas do CodeView ao gerar o arquivo de símbolo.
SPLITSYM_SYMBOLPATH_IS_SRC
0x00000004
O caminho do arquivo de símbolo contém um caminho alternativo para localizar o arquivo .pdb.

Valor retornado

Se a função for bem-sucedida, o valor retornado será TRUE.

Se a função falhar, o valor retornado será FALSE. Para recuperar informações de erro estendidas, chame GetLastError.

Comentários

A função SplitSymbols deve ser usada ao retirar símbolos de uma imagem. Ele criará um arquivo de símbolo que todos os depuradores compatíveis entendem. O formato é definido em WinNT.h e consiste em um cabeçalho de imagem, seguido pela matriz de cabeçalhos de seção, as informações de FPO e todas as informações simbólicas de depuração da imagem.

Se o parâmetro SymbolsPath for NULL, o arquivo de símbolo será armazenado no diretório em que a imagem existe. Caso contrário, ele será armazenado no subdiretório abaixo de SymbolsPath que corresponde à extensão da imagem. O uso desse método reduz as chances de colisão de arquivo de símbolo. Por exemplo, os símbolos para myapp.exe estarão no diretório SymbolsPath\exe e os símbolos para myapp.dll estarão no diretório SymbolsPath\dll.

Todas as funções ImageHlp, como esta, são threaded único. Portanto, chamadas de mais de um thread para essa função provavelmente resultarão em comportamento inesperado ou corrupção de memória. Para evitar isso, você deve sincronizar todas as chamadas simultâneas de mais de um thread para essa função.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho imagehlp.h
Biblioteca Imagehlp.lib
DLL Imagehlp.dll

Confira também

Funções ImageHlp