分析全局静态函数
本节描述分析 API 使用的非托管 API 函数。
本节内容
.NET Framework 版本 1 分析函数
FunctionEnter 函数
通知探查器正在向函数传递控制。 在 .NET Framework 2.0 中被弃用。
FunctionLeave 函数
通知探查器某个函数将要返回到调用方。 在 .NET Framework 2.0 中被弃用。
FunctionTailcall 函数
通知探查器当前正在执行的函数即将对另一个函数执行尾调用。 在 .NET Framework 2.0 中被弃用。
.NET Framework 版本 2 分析函数
FunctionIDMapper 函数
通知探查器可能会将函数的给定标识符重新映射到备用 ID,从而在该函数的 FunctionEnter2、FunctionLeave2 和 FunctionTailcall2 回调中使用。 此外还要使探查器指示它是否想要接收该函数的回调
FunctionEnter2 函数
通知探查器正在向函数传递控制,并提供有关堆栈帧和函数参数的信息。 在 .NET Framework 4 中被弃用。
FunctionLeave2 函数
通知探查器某个函数将要返回到调用方,并提供有关堆栈帧和函数返回值的信息。 在 .NET Framework 4 中被弃用。
FunctionTailcall2 函数
通知探查器当前正在执行的函数即将对另一个函数执行尾调用,并提供有关堆栈帧的信息。 在 .NET Framework 4 中被弃用。
StackSnapshotCallback 函数
为探查器提供有关每个托管帧以及在堆栈审核期间由 ICorProfilerInfo2::DoStackSnapshot 方法启动的非托管帧的每次运行的信息。
.NET Framework 版本 4 分析函数
FunctionIDMapper2 函数
通知探查器可能会将函数的给定标识符重新映射到备用 ID,从而在该函数的 FunctionEnter3、FunctionLeave3 和 FunctionTailcall3 或 FunctionEnter3WithInfo、FunctionLeave3WithInfo 和 FunctionTailcall3WithInfo 回调中使用。 此外还要使探查器指示它是否想要接收该函数的回调。
FunctionIDMapper2
使用 clientData
参数扩展 FunctionIDMapper 函数,探查器可以使用该参数消除运行时之间的歧义。
FunctionEnter3 函数
通知探查器正在向函数传递控制。
FunctionEnter3WithInfo 函数
通知探查器正在向函数传递控制,并提供可传递给 ICorProfilerInfo3::GetFunctionEnter3Info 的句柄以检索堆栈帧和函数参数。
FunctionLeave3 函数
通知探查器正在从函数返回控制。
FunctionLeave3WithInfo 函数
通知探查器正在从函数返回控制,并提供可传递给 ICorProfilerInfo3::GetFunctionLeave3Info 的句柄以检索堆栈帧和返回值。
FunctionTailcall3 函数
通知探查器当前正在执行的函数即将对另一个函数执行尾调用。
FunctionTailcall3WithInfo 函数
通知探查器当前正在执行的函数即将对另一个函数执行尾调用,并提供可传递给 ICorProfilerInfo3::GetFunctionTailcall3Info 的句柄以检索堆栈帧。