Files
Aug2021-Cpp2IL-Dump/mscorlib/System/Diagnostics/DebuggableAttribute.cs
T
2026-04-10 22:50:51 +02:00

59 lines
4.1 KiB
C#

using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Diagnostics
{
/// <summary>Modifies code generation for runtime just-in-time (JIT) debugging. This class cannot be inherited.</summary>
// Token: 0x0200061B RID: 1563
[Token(Token = "0x200061B")]
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Module)]
[ComVisible(true)]
public sealed class DebuggableAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Diagnostics.DebuggableAttribute" /> class, using the specified debugging modes for the just-in-time (JIT) compiler.</summary>
/// <param name="modes">A bitwise combination of the <see cref="T:System.Diagnostics.DebuggableAttribute.DebuggingModes" /> values specifying the debugging mode for the JIT compiler.</param>
// Token: 0x06002F65 RID: 12133 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002F65")]
[Address(RVA = "0x4D83A0", Offset = "0x4D71A0", VA = "0x1804D83A0")]
public DebuggableAttribute(DebuggableAttribute.DebuggingModes modes)
{
}
// Token: 0x04001A58 RID: 6744
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4001A58")]
private DebuggableAttribute.DebuggingModes m_debuggingModes;
/// <summary>Specifies the debugging mode for the just-in-time (JIT) compiler.</summary>
// Token: 0x0200061C RID: 1564
[Token(Token = "0x200061C")]
[Flags]
[ComVisible(true)]
public enum DebuggingModes
{
/// <summary>Starting with the .NET Framework version 2.0, JIT tracking information is always generated, and this flag has the same effect as <see cref="F:System.Diagnostics.DebuggableAttribute.DebuggingModes.Default" />, except that it sets the <see cref="P:System.Diagnostics.DebuggableAttribute.IsJITTrackingEnabled" /> property to <see langword="false" />. However, because JIT tracking is always enabled, the property value is ignored in version 2.0 or later.
/// Note that, unlike the <see cref="F:System.Diagnostics.DebuggableAttribute.DebuggingModes.DisableOptimizations" /> flag, the <see cref="F:System.Diagnostics.DebuggableAttribute.DebuggingModes.None" /> flag cannot be used to disable JIT optimizations.</summary>
// Token: 0x04001A5A RID: 6746
[Token(Token = "0x4001A5A")]
None = 0,
/// <summary>Instructs the just-in-time (JIT) compiler to use its default behavior, which includes enabling optimizations, disabling Edit and Continue support, and using symbol store sequence points if present. Starting with the .NET Framework version 2.0, JIT tracking information, the Microsoft intermediate language (MSIL) offset to the native-code offset within a method, is always generated.</summary>
// Token: 0x04001A5B RID: 6747
[Token(Token = "0x4001A5B")]
Default = 1,
/// <summary>Disable optimizations performed by the compiler to make your output file smaller, faster, and more efficient. Optimizations result in code rearrangement in the output file, which can make debugging difficult. Typically optimization should be disabled while debugging. In versions 2.0 or later, combine this value with Default (Default | DisableOptimizations) to enable JIT tracking and disable optimizations.</summary>
// Token: 0x04001A5C RID: 6748
[Token(Token = "0x4001A5C")]
DisableOptimizations = 256,
/// <summary>Use the implicit MSIL sequence points, not the program database (PDB) sequence points. The symbolic information normally includes at least one Microsoft intermediate language (MSIL) offset for each source line. When the just-in-time (JIT) compiler is about to compile a method, it asks the profiling services for a list of MSIL offsets that should be preserved. These MSIL offsets are called sequence points.</summary>
// Token: 0x04001A5D RID: 6749
[Token(Token = "0x4001A5D")]
IgnoreSymbolStoreSequencePoints = 2,
/// <summary>Enable edit and continue. Edit and continue enables you to make changes to your source code while your program is in break mode. The ability to edit and continue is compiler dependent.</summary>
// Token: 0x04001A5E RID: 6750
[Token(Token = "0x4001A5E")]
EnableEditAndContinue = 4
}
}
}