Skip to content

Commit 7283804

Browse files
authored
Merge pull request #5254 from Rageking8/improve-dynamicdeopt-compiler-switch-reference-page
Improve `/dynamicdeopt` compiler switch reference page
2 parents 1f04459 + 21562c6 commit 7283804

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

docs/build/reference/dynamic-deopt.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
---
22
title: "/dynamicdeopt (Enable C++ Dynamic Debugging (Preview))"
3-
description: "Use the Microsoft C++ compiler option /dynamicdeopt to use C++ Dynamic Debugging."
4-
ms.date: 03/14/2025
5-
f1_keywords: ["/dynamicdeopt", "VC.Project.VCNMakeTool.CompileAsManaged", "VC.Project.VCCLCompilerTool.CompileAsManaged"]
6-
helpviewer_keywords: ["cl.exe compiler, common language runtime option", "-dynamicdeopt compiler option [C++]", "dynamicdeopt compiler option [C++]", "/clr compiler option [C++]", "Managed Extensions for C++, compiling", "common language runtime, /clr compiler option"]
3+
description: "Enable the Microsoft C++ compiler option /dynamicdeopt to use C++ Dynamic Debugging."
4+
ms.date: 03/20/2025
5+
f1_keywords: ["/dynamicdeopt"]
6+
helpviewer_keywords: ["-dynamicdeopt compiler option [C++]", "dynamicdeopt compiler option [C++]"]
77
---
88
# `/dynamicdeopt` (Enable C++ Dynamic Debugging) (Preview)
9+
910
> [!IMPORTANT]
1011
> The `/dynamicdeopt` compiler switch is currently in PREVIEW.
1112
> This information relates to a prerelease feature that might be substantially modified before release. Microsoft makes no warranties, expressed or implied, with respect to the information provided here.
@@ -14,8 +15,8 @@ Enable [C++ Dynamic Debugging (Preview)](/visualstudio/debugger/cpp-dynamic-debu
1415

1516
## Syntax
1617

17-
> **`/dynamicdeopt`**
18-
> **`/dynamicdeopt:suffix <suffix>`**
18+
> **`/dynamicdeopt`**\
19+
> **`/dynamicdeopt:suffix <suffix>`**\
1920
> **`/dynamicdeopt:sync`**
2021
2122
## Arguments
@@ -26,13 +27,13 @@ Specify the file extension for the deoptimized output.
2627
With no options and given `test.cpp` as input, your output includes `test.obj`, `test.exe`, and `test.pdb`, as well as `test.alt.obj`, `test.alt.exe`, and `test.alt.pdb`. This switch allows you to change the suffix of the unoptimized binary build artifacts from `.alt` to something else. If you change the suffix, all files must use the new suffix, and it needs to match the name passed to the linker using [`/dynamicdeopt:suffix` (Preview)](dynamic-deopt-linker.md). You typically don't use this switch unless you need to avoid filename collisions with other files that you have.
2728

2829
*`sync`*\
29-
Builds the deoptimized output after building the optimized output instead of in parallel. By default, the compiler spawns a parallel instance of the code generator. This switch makes the them run serially, instead. This switch is provided in case this better suits your build environment.
30+
Builds the deoptimized output after building the optimized output instead of in parallel. By default, the compiler spawns a parallel instance of the code generator. This switch makes them run serially instead. This switch is provided in case this better suits your build environment.
3031

3132
## Remarks
3233

3334
This preview flag, available starting with Visual Studio 2022 Version 17.14 Preview 2, applies only to x64 projects and must be used with the corresponding linker flag, [`/DYNAMICDEOPT`](dynamic-deopt-linker.md).
3435

35-
Compiling with `/dynamicdeopt` generates other binaries that are used for debugging. When you debug an optimized file and debug into an optimized function, the debugger steps into the alternate binary instead. This allows you to debug as if you're debugging unoptimized code while still getting the performance advantages of optimized code.
36+
Compiling with `/dynamicdeopt` generates other binaries that are used for debugging. When you debug an optimized function in an optimized file, the debugger steps into the alternate binary instead. This allows you to debug as if you're debugging unoptimized code while still getting the performance advantages of optimized code.
3637

3738
`/dynamicdeopt` requires:
3839

@@ -54,8 +55,8 @@ If you specify `/OPT:ICF`, the compiler generates a warning that the debug exper
5455
/fastcap
5556
/callcap
5657
/ZW
57-
fsanitize=address
58-
fsanitize=kernel-address
58+
/fsanitize=address
59+
/fsanitize=kernel-address
5960
All of the CLR flags
6061
```
6162

0 commit comments

Comments
 (0)