共用方式為


splitSymbols 函式 (imagehlp.h)

從指定的影像等量符號。

語法

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

參數

[in] ImageName

要從中分割符號的影像名稱。

[in] SymbolsPath

儲存符號的子目錄。 這是選擇性參數。

[out] SymbolFilePath

產生的符號檔名稱。 此檔案通常副檔名為 .dbg。

[in] Flags

要從映射分割的資訊。 這個參數可以是零或下列值的組合。

意義
SPLITSYM_EXTRACT_ALL
0x00000002
通常,分割符號的影像仍會包含 MISC 偵錯目錄,其中包含符號檔的名稱。 因此,偵錯工具仍然可以找到符號。 使用此旗標會移除此連結。 最終結果類似于在 Microsoft 連結器上使用 -debug:none 參數。
SPLITSYM_REMOVE_PRI加值稅E
0x00000001
這會在產生符號檔時去除私用 CodeView 符號資訊。
SPLITSYM_SYMBOLPATH_IS_SRC
0x00000004
符號檔路徑包含尋找 .pdb 檔案的替代路徑。

傳回值

如果函式成功,則傳回值為 TRUE

如果函式失敗,傳回值為 FALSE。 若要擷取擴充的錯誤資訊,請呼叫 GetLastError

備註

從影像移除符號時,應該使用 SplitSymbols 函 式。 它會建立所有相容偵錯工具的符號檔。 格式定義在 WinNT.h 中,由影像標頭所組成,後面接著區段標頭的陣列、FPO 資訊,以及影像中的所有偵錯符號資訊。

如果 SymbolsPath 參數為 Null,符號檔會儲存在映射所在的目錄中。 否則,它會儲存在 SymbolsPath 下方符合影像延伸模組的子目錄中。 使用此方法可減少符號檔衝突的機會。 例如,myapp.exe 的符號會位於 SymbolsPath\exe 目錄中,而 myapp.dll 的符號將會位於 SymbolsPath\dll 目錄中。

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

需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 imagehlp.h
程式庫 Imagehlp.lib
Dll Imagehlp.dll

另請參閱

ImageHlp 函式