resource-leak

    4

    3答えて

    コードベースにファイルハンドルやストリームが正しく閉じられていないという問題があります。私たちは最終的に非常に重い負荷の下でTooManyOpenFiles例外を取得します。 lsofの出力に基づいて、私たちはロッキングシステムがどこにあるのかを知っていると確信していますが、私の質問は、リソースが正しく閉じられたことをチェックするユニットテストを書くにはどうすればいいですか?現在開いているファイル

    3

    1答えて

    私はプログラムをFastMMでデバッグしています。実際にメモリリークではなく、正当なメモリ割り当てであると思われる多くのメモリリークがあるようです。例えば 、 A memory block has been leaked. The size is: 20 This block was allocated by thread 0xD44, and the stack trace (return

    3

    2答えて

    私たちのファイルサーバーの速度が遅く、ページがタイムアウトで終了しない場合、ASP.NetはThreadAbortExceptionでそれを打ちます。それがWin32Native.CreateFileの内部で発生した場合、iisresetを実行するまで、ファイルハンドルはロックされたままになります。 これは.NETの欠陥ですか?タイムアウトをいくつかの巨大な数値に上げるなどの悪いアイデアの不足につ

    7

    3答えて

    数千ものフォームを含むWindowsフォームアプリケーションがあります。 これらの多くは、ShowDialog()メソッドを介してダイアログとして一時的に表示されます。 このアプリケーションは長年にわたって存在しており、フォームやコントロールでさまざまなリソースリークが発生するため、フォームの多くがタイムリーにガベージコレクションされていないことがわかりました。 具体的には、適切に処理されていない

    0

    1答えて

    私はカイロ、ポップラー、gtk +を使用するプログラム(gummi)を持っています。私がalt-tabでフォーカスを切り替えるたびに(ただし、他の手段を使ってフォーカスを変更してもそれほど変わらない)、タスクマネージャーは10〜20個のGDIオブジェクトを取得したと教えてくれます。 GDIViewは、これらがほとんどがビットマップとDCであることを示していますが、これらは「GDI合計」のほとんどを

    0

    1答えて

    NSDictionaryのキーをコピーした後、クラッシュします。私はARCを使用しています。理由は何ですか? -(NSArray*) findClosestPointsAroundPoint: (NSDictionary*) p inTable: (NSString*) table { NSMutableArray* fields = [[p allKeys] mutableCopy];}

    0

    1答えて

    アプリケーションでGDIフォントやブラシリークが発生しました。私のソースコード内に作成された(そして破棄された)オブジェクトを見つける方法はありますか? 私はtoHFontコールを持っておらず、Graphicsへのすべてのアクセスはusingステートメントでカプセル化されています。私はGDIViewや.NET Memory Profilerのようなツールからそのブラシとフォントを知っていますが、ソ

    10

    3答えて

    私はMaster-Detailsビューを持つアプリケーションを持っています。 「マスター」リストから項目を選択すると、「詳細」領域にいくつかの画像(RenderTargetBitmapで作成)が設定されます。 私は、リストから別のマスターアイテムを選択するたびに、(プロセスエクスプローラで報告されたように)自分のアプリケーションで使用されているGDIハンドルの数が増え、最終的に10,000個のGD

    3

    2答えて

    私のアプリケーションの1つでは、ハンドルの数が増えています。この数は、アプリケーションを使用せずに約1秒ごとにインクリメントされるため、バックグラウンド処理コードの一部でハンドルリークが発生する必要があります。 このようなリークをどのようにトレースできますか?これを助けるツールはありますか?ハンドルリークをトレースするときに探すパターンは何ですか?ハンドルリークを引き起こす最も一般的な間違いは何で

    5

    1答えて

    私はstraceを通してそれを実行すると、次のPython 3のコードは、(少なくとも、私には)いくつかの奇妙な挙動を示す: import os import sys if len(sys.argv) != 2: print('Usage: ecpy <filename>') sys.exit(1) try: print('my PID: %d' % os.getpi