gpt4 book ai didi

windows - 获取线程信息/环境 block (TIB/TEB)的官方方式

转载 作者:可可西里 更新时间:2023-11-01 13:16:20 29 4
gpt4 key购买 nike

在 Windows 中,很早就知道当前线程的线程信息 block (TIB) 可以在 FS:0 处找到(如果未记录的话)。但这只适用于 Intel CPU,其中 FS 寄存器首先存在。现在我想在基于 ARM 的 Windows 系统(Windows Phone 和可能是 Windows RT)上使用 TIB。请问是否有相应的 API?

编辑:我想获取用于崩溃报告目的的线程堆栈库。

有关 TIB/TEB 的信息:http://www.microsoft.com/msj/archive/S2CE.aspx

最佳答案

NtCurrentTeb()winnt.h 中可用,适用于所有支持的架构,包括 ARM (Windows RT):

#if defined(_M_ARM) && !defined(__midl) && !defined(_M_CEE_PURE)

__forceinline
struct _TEB *
NtCurrentTeb (
VOID
)
{
return (struct _TEB *)(ULONG_PTR)_MoveFromCoprocessor(CP15_TPIDRURW);
}

关于windows - 获取线程信息/环境 block (TIB/TEB)的官方方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18301032/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com