Skip to content

Commit bf2853f

Browse files
/DEBUG:FULL is default
/DEBUG:FULL is default except for debug builds in Visual Studio 2017
1 parent a2bc955 commit bf2853f

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

docs/build/reference/debug-generate-debug-info.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,12 @@ An executable (.exe file or DLL) created for debugging contains the name and pat
5959

6060
The **/DEBUG:FASTLINK** option is the linker default for debug builds in Visual Studio 2017, set when you specify /DEBUG with no additional options. This option leaves private symbol information in the individual compilation products used to build the executable. It generates a limited PDB that indexes into the debug information in the object files and libraries used to build the executable instead of making a full copy. This option can link from two to four times as fast as full PDB generation, and is recommended when you are debugging locally and have the build products available. This limited PDB can't be used for debugging when the required build products are not available, such as when the executable is deployed on another computer. In a developer command prompt, you can use the mspdbcmf.exe tool to generate a full PDB from this limited PDB. In Visual Studio, use the Project or Build menu items for generating a full PDB file to create a full PDB for the project or solution.
6161

62-
The **/DEBUG:FULL** option is the linker default for debug builds in Visual Studio 2015, set when you specify /DEBUG with no additional options. This option moves all private symbol information from individual compilation products (object files and libraries) into a single PDB, and can be the most time-consuming part of the link. However, the full PDB can be used to debug the executable when no other build products are available, such as when the executable is deployed.
63-
64-
The **/DEBUG:NONE** option does not generate a PDB, and is the linker default for release builds.
62+
The **/DEBUG:FULL** option is the linker default for debug/release builds in Visual Studio 2015 and release builds in Visual Studio 2017, set when you specify /DEBUG with no additional options. This option moves all private symbol information from individual compilation products (object files and libraries) into a single PDB, and can be the most time-consuming part of the link. However, the full PDB can be used to debug the executable when no other build products are available, such as when the executable is deployed.
6563

64+
The **/DEBUG:NONE** option does not generate a PDB.
65+
66+
Notwithstanding the above comments, the **/DEBUG** option (wit no additional options) defaults to **/DEBUG:FULL** when you use the linker outside the Visual Studio IDE, e.g., in the command prompt or in a Makefile.
67+
6668
The compiler's [C7 Compatible](../../build/reference/z7-zi-zi-debug-information-format.md) (/Z7) option causes the compiler to leave the debugging information in the .obj files. You can also use the [Program Database](../../build/reference/z7-zi-zi-debug-information-format.md) (/Zi) compiler option to store the debugging information in a PDB for the .obj file. The linker looks for the object's PDB first in the absolute path written in the .obj file, and then in the directory that contains the .obj file. You cannot specify an object's PDB file name or location to the linker.
6769

6870
[/INCREMENTAL](../../build/reference/incremental-link-incrementally.md) is implied when /DEBUG is specified.
@@ -89,4 +91,4 @@ It is not possible to create an .exe or .dll that contains debug information. De
8991

9092
## See Also
9193
[Setting Linker Options](../../build/reference/setting-linker-options.md)
92-
[Linker Options](../../build/reference/linker-options.md)
94+
[Linker Options](../../build/reference/linker-options.md)

0 commit comments

Comments
 (0)