Получение размера callstack - PullRequest
       3

Получение размера callstack

4 голосов
/ 20 сентября 2011

Есть ли способ получить размер стека вызовов (в байтах) в C ++?
Или хотя бы его нижний адрес (и тогда я могу вычесть его из регистра ESP?

Ответы [ 2 ]

2 голосов
/ 20 сентября 2011
1 голос
/ 20 сентября 2011

Вы можете попробовать использовать VirtualQuery дважды.

В первый раз вы можете использовать адрес любого значения в стеке, чтобы получить базовый адрес и размер (в байтах) выделенного пространства стека.

Вычтите размер из базового адреса и снова вызовите VirtualQuery. Таким образом, вы получаете место, зарезервированное для стека.

Добавляя два размера, вы получаете общий размер стека.

...