CL /Fd



The optional argument consists of whatever follows immediately within the same command-line token.

The default pathname is “vc70.pdb”. This is also the default file name and extension, to be appended to a pathname that ends in a backslash. The default file extension is “.pdb”, to be appended to a pathname whose last path element contains no period.


The /Fd option overrides earlier instances of itself (and is overridden by later instances). A first instance, /Fdvc70.pdb, is provided by CL as an initial option.

This option passes to the front-end C and C++ compilers (C1 and C1XX). It passes to the back-end compiler (C2) also, but with the file extension changed to “.idb”.


The /Fd option provides the compiler with a name to use for a PDB file should such a file be wanted.

Numerous options affect what, if anything, the compiler does with a PDB file.

As noted above, there can be two PDB files. The ordinary PDB file is named in the /Fd option. The other has the file extension changed to “.idb” and is here called the IDB file.

Broadly speaking, a PDB file is wanted if either /Gm or /Zi is enabled, and an IDB file if any of /Gi, /Gm, /FD or /ZI are enabled.

A PDB file is not used if /E is enabled, unless /FD is enabled also. (Remember that /E is implied by /EP and /P, and that /FD is implied by /ZI.) A PDB file is not used if /Zg is enabled.