/ASSEMBLYDEBUG (Add DebuggableAttribute)

Specify whether to emit the DebuggableAttribute attribute with debug information tracking and to disable JIT optimizations.

Syntax

/ASSEMBLYDEBUG[:DISABLE]

Remarks

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

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

/ASSEMBLYDEBUG:DISABLE emits the DebuggableAttribute attribute but disables the tracking of debug information and enables JIT optimizations. This option is the same as specifying the following attribute in source:

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

By default, the linker doesn't emit the DebuggableAttribute attribute.

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

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

You must explicitly specify that a managed image is debuggable. The /Zi option alone is insufficient.

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 Set C++ compiler and build properties in Visual Studio.

  2. Select the Configuration Properties > Linker > Debug property page.

  3. Modify the Debuggable Assembly property.

To set this linker option programmatically

See also

MSVC linker reference
MSVC linker options