この資料は x86 アーキテクチャに関する資料です。 障害の原因究明をする際に、ある関数へ渡されるデータがわかると都合が良い場合が少なくありません。 つまり、Func1(int x) というような関数に x = 10 というときにエラーが発生する、という情報がわかれば開発者がデバッグするために非常に有効な情報といえるでしょう。 トラブルシューティングを行うときに、引数の受け渡しがどのように行われるのかを知ることは非常に重要です。 x86 インテルアーキテクチャではプロシージャを呼び出す前にスタックに引数を積み上げます。 スタックは主にここで説明するような関数呼び出しを行うために利用される、連続したメモリ領域のことです。 スタックは、アドレスが小さいほうへとデータが積み上げられます。スタックへデータを積み上げることを PUSH といい、 逆にスタックの上部からデータを取り出すことを POP
![スタックフレーム - 関数に渡される引数を知る - Web/DB プログラミング徹底解説](https://cdn-ak-scissors.b.st-hatena.com/image/square/293fb6ec3ff4a9e3b998c9e77aed61d41bef5b29/height=288;version=1;width=512/https%3A%2F%2Fwww.keicode.com%2Fimg%2Fog-image-1.png)