RuntimeHelpers.ProbeForSufficientStack 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
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
块之前try
finally
/立即调用 RuntimeHelpers.PrepareConstrainedRegions 方法。 如果要调用递归方法或计划使用大量堆栈空间,则必须使用 RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup 方法。