Share via


SymGetSymbolFile-Funktion (dbghelp.h)

Sucht eine Symboldatei im angegebenen Symbolpfad.

Syntax

BOOL IMAGEAPI SymGetSymbolFile(
  [in, optional] HANDLE hProcess,
  [in, optional] PCSTR  SymPath,
  [in]           PCSTR  ImageFile,
  [in]           DWORD  Type,
  [out]          PSTR   SymbolFile,
  [in]           size_t cSymbolFile,
  [out]          PSTR   DbgFile,
  [in]           size_t cDbgFile
);

Parameter

[in, optional] hProcess

Ein Handle für den Prozess, der ursprünglich an die SymInitialize-Funktion übergeben wurde.

Wenn dieses Handle 0 ist, kann SymPath nicht NULL sein. Verwenden Sie diese Option, um eine Symboldatei zu laden, ohne SymInitialize oder SymCleanup aufzurufen.

[in, optional] SymPath

Der Symbolpfad. Wenn dieser Parameter NULL oder eine leere Zeichenfolge ist, verwendet die Funktion den Symbolpfad, der mithilfe der SymInitialize - oder SymSetSearchPath-Funktion festgelegt wurde.

[in] ImageFile

Der Name der Imagedatei.

[in] Type

Der Typ der Symboldatei. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
sfImage
0
Eine .exe- oder .dll datei.
sfDbg
1
Eine DBG-Datei.
sfPdb
2
Eine PDB-Datei.
sfMpd
3
Reserviert.

[out] SymbolFile

Ein Zeiger auf eine NULL-Zeichenfolge, die den Namen der Symboldatei empfängt.

[in] cSymbolFile

Die Größe des SymbolFile-Puffers in Zeichen.

[out] DbgFile

Ein Zeiger auf einen Puffer, der den vollqualifizierten Pfad zur Symboldatei empfängt. Dieser Puffer muss mindestens MAX_PATH Zeichen enthalten.

[in] cDbgFile

Die Größe des DbgFile-Puffers in Zeichen.

Rückgabewert

Wenn der Server nach einer gültigen Symboldatei sucht, gibt er TRUE zurück. Andernfalls wird FALSE zurückgegeben, und GetLastError gibt einen Wert zurück, der angibt, warum die Symboldatei nicht zurückgegeben wurde.

Hinweise

Alle DbgHelp-Funktionen, z. B. diese, sind single threaded. Daher führen an diese Funktion gerichtete Aufrufe mehrerer Threads wahrscheinlich zu unerwartetem Verhalten oder einer Beschädigung des Speichers. Um dies zu vermeiden, müssen Sie alle an diese Funktion gerichteten gleichzeitigen Aufrufe mehrerer Threads synchronisieren.

Um die Unicode-Version dieser Funktion aufzurufen, definieren Sie DBGHELP_TRANSLATE_TCHAR.

Anforderungen

   
Zielplattform Windows
Kopfzeile dbghelp.h
Bibliothek Dbghelp.lib
DLL Dbghelp.dll
Verteilbare Komponente DbgHelp.dll Version 6.3 oder höher

Weitere Informationen

DbgHelp-Funktionen

SymInitialize