メモリ リークが遅いと思われるレガシー C++ アプリケーションを保守しています。現在の構成で例外がスローされないようにすることで、メモリリークを「修正」することができました。また、多くの例外が発生するように構成することで、リークをトリガーしてスケーリングすることもできます。
割り当てられるすべてのメモリは、malloc() ではなく alloca() を使用して行われます。これについて私が説明したのは、alloca() が Java ガベージ コレクターのように機能し、コンテキストを終了するときにメモリを自動的に解放するためだということです。
リークがスローされる例外に明確にバインドされているため、例外がスローされたときに alloca() がメモリを解放できないという理論があります。
これはまったくもっともらしいですか?true の場合は alloca() の重大な欠陥だと思いますが、alloca() をグーグルで検索すると、一般的に問題になるようです。
専門家の洞察をいただければ幸いです。