获取调用堆栈的大小

有没有一种方法来获得在C + +的调用堆栈的大小(以字节为单位)?
或者至less它的底部地址(然后我可以从ESP寄存器中减去它?

你可以尝试两次使用VirtualQuery 。

您第一次可以使用堆栈中任何值的地址来获取提交堆栈空间的基址和大小(以字节为单位)。

从基地址中减去大小再次调用VirtualQuery。 这样你就可以得到为堆栈保留的空间。

添加这两个大小,您可以获得总堆栈大小。