/FS (強制同步 PDB 寫入)
強制寫入程式資料庫 (PDB) 檔案,此檔案是由 /Zi 或 /ZI 所建立,以透過 MSPDBSRV.EXE 序列化。
語法
/FS
備註
根據預設,當指定 /Zi 或 /ZI 時 ,編譯器會鎖定 PDB 檔案以寫入類型資訊和符號偵錯資訊。 當類型數目很大時,這可以大幅降低編譯器產生類型資訊所需的時間。 如果另一個處理序暫時鎖定 PDB 檔案 (例如,防毒程式),編譯器寫入可能會失敗,而且可能會發生嚴重錯誤。 當 cl.exe 的多個複本存取同一個 PDB 檔,這個問題也可能會發生,例如,如果方案有使用相同中繼目錄的獨立專案或者輸出目錄和平行組建已啟用。 /FS 編譯器選項可防止編譯器鎖定 PDB 檔案,並強制寫入透過 MSPDBSRV.EXE,以序列化存取權。 這可能會使建置時間明顯更久,而且不能避免 cl.exe 的多個執行個體同時存取 PDB 檔案可能發生的所有錯誤。 建議您變更方案,以便獨立專案寫入個別的中繼和輸出位置,或者讓一個專案相依於另一個專案,以強制序列化的專案建置。
/MP 選項預設會啟用 /FS 。
在 Visual Studio 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。
修改 [其他選項] 屬性以包含
/FS
,然後選擇 [ 確定 ]。
若要以程式方式設定這個編譯器選項
- 請參閱 AdditionalOptions。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應