获取调用栈的大小

Getting the size of the callstack

本文关键字:调用 获取      更新时间:2023-10-16

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

StackWalk64()
http://msdn.microsoft.com/en-us/library/ms680650

你可以尝试使用两次VirtualQuery。

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

从基址中减去大小并再次调用VirtualQuery。通过这种方式,您可以获得为堆栈保留的空间。