RuntimeHelpers.ProbeForSufficientStack 方法

定义

注意

The Constrained Execution Region (CER) feature is not supported.

探测某个数量的堆栈空间,以确保不会在后续的代码块内发生堆栈溢出(假设用户的代码仅使用有限适中的堆栈空间)。 建议使用受约束的执行区域 (CER),而不使用此方法。

public:
 static void ProbeForSufficientStack();
[System.Obsolete("The Constrained Execution Region (CER) feature is not supported.", DiagnosticId="SYSLIB0004", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static void ProbeForSufficientStack ();
[System.Security.SecurityCritical]
public static void ProbeForSufficientStack ();
public static void ProbeForSufficientStack ();
[<System.Obsolete("The Constrained Execution Region (CER) feature is not supported.", DiagnosticId="SYSLIB0004", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member ProbeForSufficientStack : unit -> unit
[<System.Security.SecurityCritical>]
static member ProbeForSufficientStack : unit -> unit
static member ProbeForSufficientStack : unit -> unit
Public Shared Sub ProbeForSufficientStack ()
属性

注解

在可复原堆栈溢出的主机(如 Microsoft SQL Server 和 Microsoft Exchange Server)中运行时,受约束的执行区域 (CER) 基础结构使用此方法。 此方法当前在 x86 平台上探测 48 KB 的堆栈空间,但确切数量可能会随时间而变化,并可能在其他平台上有所不同。

编译器也使用此方法。

不应使用 ProbeForSufficientStack 方法,而应使用标准 CER。 也就是说,如果计划使用适量的堆栈空间,请在 或catch/try 块之前tryfinally/立即调用 RuntimeHelpers.PrepareConstrainedRegions 方法。 如果要调用递归方法或计划使用大量堆栈空间,则必须使用 RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup 方法。

适用于