共用方式為


SymGetSymbolFileW 函式 (dbghelp.h)

在指定的符號路徑中尋找符號檔。

語法

BOOL IMAGEAPI SymGetSymbolFileW(
  [in, optional] HANDLE hProcess,
  [in, optional] PCWSTR SymPath,
  [in]           PCWSTR ImageFile,
  [in]           DWORD  Type,
  [out]          PWSTR  SymbolFile,
  [in]           size_t cSymbolFile,
  [out]          PWSTR  DbgFile,
  [in]           size_t cDbgFile
);

參數

[in, optional] hProcess

原本傳遞至 SymInitialize 函式之進程的句柄。

如果此句柄為 0,SymPath 便無法 NULL。 使用此選項載入符號檔,而不呼叫 SymInitializeSymCleanup

[in, optional] SymPath

符號路徑。 如果此參數 NULL 或空字串,則函式會使用符號路徑,使用 SymInitializeSymSetSearchPath 函式來設定。

[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 ;否則,它會傳回 FALSEGetLastError 傳回值,指出為何未傳回符號檔。

言論

所有 DbgHelp 函式,例如此函式,都是單個線程。 因此,從一個以上的線程呼叫此函式可能會導致非預期的行為或記憶體損毀。 若要避免這種情況,您必須將多個線程的所有並行呼叫同步至此函式。

若要呼叫此函式的 Unicode 版本,請定義DBGHELP_TRANSLATE_TCHAR。

注意

dbghelp.h 標頭會根據 UNICODE 預處理器常數的定義,將 SymGetSymbolFile 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
目標平臺 窗戶
標頭 dbghelp.h
連結庫 Dbghelp.lib
DLL Dbghelp.dll
可轉散發 DbgHelp.dll 6.3 或更新版本

另請參閱

DbgHelp 函式

SymInitialize