This documentation is archived and is not being maintained.

/ASSEMBLYDEBUG (Add DebuggableAttribute)


/ASSEMBLYDEBUG emits the Debuggable attribute with debug information tracking and disables JIT optimizations. This is the same as specifying the following attribute in source:

[assembly:Debuggable(true, true)];   // same as /ASSEMBLYDEBUG

/ASSEMBLYDEBUG:DISABLE emits the Debuggable attribute, but disables the tracking of debug information and enables JIT optimizations and is the same as specifying the following attribute is source:

[assembly:Debuggable(false, false)];   // same as /ASSEMBLYDEBUG:DISABLE

The default is to not emit the DebuggableAttribute.

DebuggableAttribute can also be added to an assembly directly in source code. For example,

[assembly:Debuggable(true, true)];   // same as /ASSEMBLYDEBUG

Starting in Visual C++ .NET 2003   , it is necessary to explicitly specify that a managed image be debuggable; using /Zi alone is not sufficient.

Other linker options that affect assembly generation are:

To set this linker option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see Setting Visual C++ Project Properties.
  2. Click the Linker folder.
  3. Click the Debug property page.
  4. Modify the Debuggable Assembly property.

To set this linker option programmatically

See AssemblyDebug Property.

See Also

Setting Linker Options | Linker Options