Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions docs/build/reference/zo-enhance-optimized-debugging.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: "Learn more about: /Zo (Enhance Optimized Debugging)"
title: "/Zo (Enhance Optimized Debugging)"
ms.date: "11/04/2016"
ms.date: 06/01/2022
f1_keywords: ["-Zo", "/Zo"]
helpviewer_keywords: ["Zo compiler option [C++]", "/Zo compiler option [C++]", "-Zo compiler option [C++]"]
ms.assetid: eea8d89a-7fe0-4fe1-86b2-7689bbebbd7f
Expand All @@ -12,17 +12,17 @@ Generate enhanced debugging information for optimized code in non-debug builds.

## Syntax

```cpp
/Zo[-]
```
> **`/Zo`**\[**`-`**]

## Remarks

The **/Zo** compiler switch generates enhanced debugging information for optimized code. Optimization may use registers for local variables, reorder code, vectorize loops, and inline function calls. These optimizations can obscure the relationship between the source code and the compiled object code. The **/Zo** switch tells the compiler to generate additional debugging information for local variables and inlined functions. Use it to see variables in the **Autos**, **Locals**, and **Watch** windows when you step through optimized code in the Visual Studio debugger. It also enables stack traces to show inlined functions in the WinDBG debugger. Debug builds that have disabled optimizations ([/Od](od-disable-debug.md)) do not need the additional debugging information generated when **/Zo** is specified. Use the **/Zo** switch to debug Release configurations with optimization turned on. For more information on optimization switches, see [/O Options (Optimize Code)](o-options-optimize-code.md). The **/Zo** option is enabled by default in Visual Studio when you specify debugging information with **/Zi** or **/Z7**. Specify **/Zo-** to explicitly disable this compiler option.
The **`/Zo`** compiler option generates enhanced debugging information for optimized code. Optimization may use registers for local variables, reorder code, vectorize loops, and inline function calls. These optimizations can obscure the relationship between the source code and the compiled object code. The **`/Zo`** option tells the compiler to generate extra debugging information for local variables and inlined functions. It allows you to see variables in the **Autos**, **Locals**, and **Watch** windows when you step through optimized code in the Visual Studio debugger. It also enables stack traces to show inlined functions in the WinDBG debugger. Debug builds that have disabled optimizations ([`/Od`](od-disable-debug.md)) don't need the extra debugging information generated when **`/Zo`** is specified. Use the **`/Zo`** option to debug Release configurations with optimization turned on. For more information on optimization options, see [`/O` options (Optimize Code)](o-options-optimize-code.md).

The **/Zo** switch is available starting in Visual Studio 2013 Update 3, and it replaces the previously undocumented **/d2Zi+** switch.
The **`/Zo`** option is enabled by default when you specify debugging information with **`/Zi`** or **`/Z7`**. It's disabled by the **`/ZI`** compiler option. Specify **`/Zo-`** to explicitly disable this compiler option.

### To set the /Zo compiler option in Visual Studio
The **`/Zo`** option is available starting in Visual Studio 2013 Update 3, and it replaces the previously undocumented **`/d2Zi+`** option.

### To set the `/Zo` compiler option in Visual Studio

1. Open the **Property Pages** dialog box for the project. For more information, see [Set C++ compiler and build properties in Visual Studio](../working-with-project-properties.md).

Expand All @@ -36,6 +36,6 @@ The **/Zo** switch is available starting in Visual Studio 2013 Update 3, and it

## See also

[/O Options (Optimize Code)](o-options-optimize-code.md)<br/>
[/Z7, /Zi, /ZI (Debug Information Format)](z7-zi-zi-debug-information-format.md)<br/>
[`/O` Options (Optimize code)](o-options-optimize-code.md)\
[`/Z7`, `/Zi`, `/ZI` (Debug information format)](z7-zi-zi-debug-information-format.md)\
[Edit and Continue](/visualstudio/debugger/edit-and-continue)
10 changes: 7 additions & 3 deletions docs/code-quality/c1252.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
---
description: "Learn more about: C1252"
title: C1252
ms.date: 11/04/2016
ms.date: 06/01/2022
ms.topic: reference
f1_keywords: ["C1252"]
helpviewer_keywords: ["C1252"]
ms.assetid: e88bf199-890d-4582-bb5c-c1238797145b
---
# C1252

> warning C1252: Circular or missing dependency between plugins: requires GUID
> warning C1252: Circular or missing dependency between plugins: '*plugin-name*' requires GUID '*globally-unique-identifier*'

The Code Analysis tool reports this warning when there is an internal error with plugin dependencies, not in the code being analyzed.
The Code Analysis tool reports this warning when there's an internal error in the plugin dependencies. It's not caused by an issue in the code being analyzed.

In some cases, it's possible to work around this issue by disabling the **Enable Code Analysis on Build** property. To disable this build property, open the Property pages dialog for your project. In the **Solution Explorer** window, right-click on the project (not the solution) and select **Properties** in the shortcut menu. Set the **Configuration** to **All Configurations** and the **Platform** to **All Platforms**. Open the **Configuration Properties** > **Code Analysis** > **General** property page. Modify the **Enable Code Analysis on Build** property to **No**. Choose **OK** to save your changes, and then save your project files. Rebuild your project to verify that the issue no longer occurs.

If the issue continues, you can report it to Microsoft. For more information on how to report an issue, see [How to report a problem with the Visual C++ toolset or documentation](../overview/how-to-report-a-problem-with-the-visual-cpp-toolset.md).
Loading