/FS (Synchrone PDB-Schreibvorgänge erzwingen)

Erzwingt Schreibvorgänge in die Datei der Programmdatenbank (PDB), die von /Zi oder /ZI erstellt wurde, um über MSPDBSRV.EXE serialisiert zu werden.

Syntax

/FS

Hinweise

Wenn /Zi oder /ZI angegeben wird, sperrt der Compiler standardmäßig PDB-Dateien, um Typinformationen und symbolische Debuginformationen zu schreiben. Dadurch kann der Compiler bei einer großen Anzahl von Typen die Typinformationen erheblich schneller generieren. Wenn ein anderer Prozess, beispielsweise ein Antivirenprogramm, die PDB Datei vorübergehend sperrt, können Schreibvorgänge des Compiler möglicherweise nicht ausgeführt werden, sodass ein schwerer Fehler auftritt. Dieses Problem kann auch auftreten, wenn mehrere Kopien von cl.exe auf dieselbe PDB Datei zugreifen. Das kann der Fall sein, wenn die Projektmappe unabhängige Projekte enthält, welche die gleichen Zwischenverzeichnisse oder Ausgabeverzeichnisse verwenden, während parallele Builds aktiviert sind. Die /FS-Compileroption verhindert, dass der Compiler die PDB-Datei sperrt, und erzwingt Schreibvorgänge zum Durchlaufen von MSPDBSRV.EXE, wodurch der Zugriff serialisiert wird. Dadurch werden aber nicht alle Fehler verhindert, die auftreten können, wenn mehrere Instanzen von cl.exe gleichzeitig auf die PDB-Datei zugreifen, und zudem dauern Builds erheblich länger. Es empfiehlt sich, die Projektmappe so zu ändern, dass unabhängige Projekte in getrennte Zwischen- und Ausgabeorte schreiben, oder eines der Projekte von den anderen abhängig zu machen, um serialisierte Projekt-Builds zu erzwingen.

Die Option "/MP " aktiviert standardmäßig /FS .

So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.

  3. Ändern Sie die Eigenschaft "Zusätzliche Optionen", um sie einzuschließen/FS, und wählen Sie dann "OK" aus.

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile