Geoff Chappell - Software Analyst
This option enables a verbose mode.
The option is /Bz only.
The /Bz option is weakly overridden by /Gm.
When this option is enabled, each execution in the build is replaced by a description written to standard error. Each execution is typically described as a command, showing the module or program that would be executed, together with its command line. In some cases there is first a listing of environment variables that would be set for the execution or of lines that would be written into a command file.
To have this verbose mode yet also proceed with the executions, use /Bd instead.
The /Bd and /Bz options both disable the minimal rebuild facility, without warning. (This is not done by formally cancelling whatever /Gm option enabled the minimal rebuild, and the front-end C++ compiler continues to get -Gm on its command line.)
The debugging mode enabled by /Bd and /Bz also affects the compiler’s handling of exceptions. The top-level exception handler in CL.EXE ordinarily reports an access violation as an internal compiler error (D2030). However, once the debugging mode is active, such exceptions are left as unhandled. Something similar applies to the handling of exceptions while CL calls the _InvokeCompilerPass@12 function of any compiler module that is implemented as a DLL.