SymGetSymbolFile 関数 (dbghelp.h)

指定したシンボル パス内のシンボル ファイルを検索します。

構文

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
);

パラメーター

[in, optional] hProcess

SymInitialize 関数に最初に渡されたプロセスへのハンドル。

このハンドルが 0 の場合、 SymPathNULL にすることはできません。 SymInitialize または SymCleanup を呼び出さずにシンボル ファイルを読み込むには、このオプションを使用します。

[in, optional] SymPath

シンボル パス。 このパラメーターが NULL または空の文字列の場合、関数は SymInitialize 関数または SymSetSearchPath 関数を使用して設定されたシンボル パスを使用します。

[in] ImageFile

イメージ ファイルの名前。

[in] Type

シンボル ファイルの種類。 このパラメーターには、次の値のいずれかを指定できます。

意味
sfImage
0
.exe または .dll ファイル。
sfDbg
1
.dbg ファイル。
sfPdb
2
.pdb ファイル。
sfMpd
3
予約済み。

[out] SymbolFile

シンボル ファイルの名前を受け取る null で終わる文字列へのポインター。

[in] cSymbolFile

SymbolFile バッファーのサイズ (文字単位)。

[out] DbgFile

シンボル ファイルへの完全修飾パスを受け取るバッファーへのポインター。 このバッファーは、少なくともMAX_PATH文字である必要があります。

[in] cDbgFile

DbgFile バッファーのサイズ (文字数)。

戻り値

サーバーが有効なシンボル ファイルを見つけると、 TRUE が返されます。それ以外の場合は FALSE を 返し、 GetLastError はシンボル ファイルが返されなかった理由を示す値を返します。

解説

この関数など、すべての DbgHelp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。

この関数の Unicode バージョンを呼び出すには、DBGHELP_TRANSLATE_TCHARを定義します。

要件

   
対象プラットフォーム Windows
ヘッダー dbghelp.h
Library Dbghelp.lib
[DLL] Dbghelp.dll
再頒布可能パッケージ DbgHelp.dll 6.3 以降

関連項目

DbgHelp 関数

SymInitialize