DebugSettings Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Declares how certain aspects of the app behave when it is run in a debug environment
public ref class DebugSettings sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DebugSettings final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DebugSettings final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DebugSettings
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DebugSettings
Public NotInheritable Class DebugSettings
- Inheritance
- Attributes
Windows requirements
Device family |
Windows 10 (introduced in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduced in v1.0)
|
Examples
This example shows an OnLaunched override that accesses Application.DebugSettings and sets two properties of the singleton DebugSettings value to true. The context of this code is the app.xaml code-behind, so this refers to the created Application object for the app.
protected override void OnLaunched(LaunchActivatedEventArgs args) {
this.DebugSettings.EnableFrameRateCounter = true;
this.DebugSettings.IsOverdrawHeatMapEnabled = true;
//...
}
Remarks
This class can't be constructed. Get the value from Application.DebugSettings and then change the properties as necessary.
OnLaunched is a good place to change DebugSettings values.
Not all modes enabled by DebugSettings require that a debugger is attached. For example, the frame-rate counter associated with EnableFrameRateCounter will appear in an app that runs with that setting even if you activate it as a tile without the debugger.
Don't leave any DebugSettings properties explicitly set in your production code.
Version history
Windows version | SDK version | Value added |
---|---|---|
1809 | 17763 | FailFastOnErrors |
Properties
EnableFrameRateCounter |
Gets or sets a value that indicates whether to display frame-rate and per-frame CPU usage info. These display as an overlay of counters in the window chrome while the app runs. |
EnableRedrawRegions |
Gets or sets a value that indicates whether to highlight areas of the app UI surface that are being redrawn each frame. |
FailFastOnErrors |
Gets or sets a value that indicates whether XAML errors cause an immediate FailFast rather than returning an error. |
IsBindingTracingEnabled |
Gets or sets a value that indicates whether to engage the binding tracing feature of Microsoft Visual Studio when the app runs. |
IsOverdrawHeatMapEnabled |
Gets or sets a value that enables a debug setting that visualizes overdraw operations. This visualization is useful during application development for detecting layout, animation, and other operations that are graphics processing intensive. |
IsTextPerformanceVisualizationEnabled |
Gets or sets a value that indicates whether to engage the text performance visualization feature of Microsoft Visual Studio when the app runs. |
Events
BindingFailed |
Occurs when a Binding cannot be resolved. |