Windowsのスタック拡張
2006.01.19 Thursday 01:20
Windowsではスレッドのスタックは最初2ページだけメモリが確保されて,その後はガードページに当たるたびに自動拡張されて最大サイズまで広がるようになっている.
Windows 2000までは最大スタックサイズはプロセスで全て同じ.XPではCreateThreadでスレッド毎に最大サイズを設定できるようになっている.
で,ガードページにアクセスしたときにはSTATUS_GUARD_PAGE_VIOLATION という例外が発生すると会ったので,アプリケーションから拾えるのかなと思ってやってみたが,だめであった.
Windows 2000までは最大スタックサイズはプロセスで全て同じ.XPではCreateThreadでスレッド毎に最大サイズを設定できるようになっている.
で,ガードページにアクセスしたときにはSTATUS_GUARD_PAGE_VIOLATION という例外が発生すると会ったので,アプリケーションから拾えるのかなと思ってやってみたが,だめであった.
Comments