2

重複の可能性:
メモリリークは大丈夫ですか?

メモリリークが必要な特殊なケースがあり、実際にはまれな状況では良いことをどこかで読みました。しかし、それが正確に何であったか思い出せません!

誰かがそのような議論を知っているか覚えていますか?

ありがとう、アディ

4

8 に答える 8

5

メモリリークが望ましいと考えることができる唯一の状況は次のとおりです。

(1stを除いて、それらはすべて少し複雑です)

  • メモリ リークがプログラミング クラスでの良い学習課題となるアカデミックな状況。漏洩の追跡防止を含む。

  • リークが発生した状況でソフトウェアがどのように動作するかを確認するためのプロファイリング/テスト シナリオ。

  • プロファイリング アプリケーションをテスト/デバッグするための漏れやすいアプリケーションを作成します。

于 2008-11-27T15:26:49.137 に答える
1

うわー、それについてどこで聞いたのか知​​りたいです。メモリ リークとは、リソースを浪費する意図しないメモリ リークのことです。ライバルに使ってもらいたいソフトウェアを構築していない限り、この動作を望む理由がわかりません (アメリカ人がロシア人にパイプライン制御ソフトウェアを盗ませたときに行ったように)!

于 2008-11-27T14:45:28.703 に答える
1

私が考えることができる唯一のことは、メモリ不足の状態を処理するためにコードをテストしたい場合です。これは、メモリ不足が致命的な状態であるスワップ領域を持たない組み込みシステムでは重要です。

自動化された単体テストで 100% に近いコード カバレッジを得たい場合は、自動化された単体テストから特定の割り当て要求を失敗させる何らかの方法を見つけ出す必要があります (言うは易く行うは難しです)。

それができたら、割り当て要求ごとに単体テストを作成して、その割り当てに対してメモリ不足の障害が正しく処理されることを確認する必要があります (多くの作業)。

于 2008-11-27T14:50:53.950 に答える
1

メモリリークは決して「OK」ではありません。後で必要になるため、メモリの一部を割り当て、割り当てを解除しないことが必要な場合がありますが、それはメモリ リークではありません。しかし、メモリ リークによってメモリの断片化が回避されるなどと言うのは、遅刻を避けるために電話をかけずに今日の仕事をスキップする方が良いと言っているようなものです。

于 2008-11-27T18:39:29.793 に答える
0

メモリリークが良いというケースは聞いたことがありません。

最新のオペレーティング システムでは、5 ~ 10 年前ほど悪くはありません。当時、プログラムのポリシングやメモリリークがはるかに悪いOSでは、OSが再起動されるまでメモリが永久に失われていました。

最近では、それは実際には問題ではありません。そのため、最も一般的な「メモリ リーク」は、プログラムがエラーや終了の場合に適切にクリーンアップされない場合です。プログラムが終了しようとしているとき、通常はメモリを解放しないでおくことができます。なぜなら、プログラムが OS によって取り壊されると、いずれにしてもすべてがリードされるからです。

プログラムの実行中は、メモリ リークが発生する理由が思い浮かびません。

于 2008-11-27T14:45:31.870 に答える
-1

@アディ・バルダ:

長期的には、リークしたオブジェクトによって消費されるメモリが増えるという問題は、メモリの断片化の問題よりも重要です。

于 2008-11-27T18:33:30.240 に答える
-1

サーバーへのメモリのアップグレードに $$$++ を請求するホスティング会社の場合は、これで十分です。

于 2008-11-27T14:47:06.877 に答える
-2

メモリの断片化を回避するにはどうすればよいですか? 十分な理由ではないでしょうか。

于 2008-11-27T16:36:48.073 に答える