問題タブ [memory-leaks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - テーブル NewRow() が原因でメモリ リークが発生する
メモリ リークを調査しているときに、ループ内の Table で NewRow() を何度も呼び出すことが原因であることがわかりました。ただし、作成された DataRow が Table Rows コレクションに追加されることはなく、Table Rows Count が 0 を超えることもありませんでした。
私の質問は、新しく作成された DataRow が Rows コレクションに追加されず、NewRow から返された DataRow が常に同じローカル変数に割り当てられているにもかかわらず、NewRow が呼び出されるたびにこれがより多くのメモリを使用するのはなぜですか (したがって、明らかに最後の新しい行を破棄します) )。
なぜコードがテーブルに追加されない DataRows を作成するのかという問題は無視してください!
java - Eclipseでスレッドダンプを強制する方法は?
BEA Weblogic Server v9.2 ランタイム環境を介して Eclipse 内で Weblogic アプリケーションを起動しています。これがコマンドラインから直接実行されている場合は、ctrl-BREAK を実行してスレッド ダンプを強制します。Eclipseでそれを行う方法はありますか?
.net - ネイティブ ライブラリの呼び出しが原因でマネージド コードがメモリ リークしているかどうかを確認するにはどうすればよいですか?
ネイティブ ライブラリを呼び出すマネージド DLL があります。通常、このネイティブ ライブラリは IntPtrs を返します。これらをネイティブ ライブラリの他のメソッドに渡して処理を実行したり、IntPtr に関連付けられたインスタンスを解放するようライブラリに指示したりできます。ただし、この方法で解放する必要があるのは一部のインスタンスのみであり、他のインスタンスはライブラリによって管理されます。問題は、どのインスタンスを解放する必要があり、どのインスタンスを解放してはならないかについて、ドキュメントが常に明確であるとは限らないことです。
私が知りたいのは、私のコードが解放する必要のあるポインターへの参照を保持しているかどうかを確認できる方法があるかどうかです。そのため、メモリ リークが発生していますか?
cocoa - _NSAutoreleaseNoPoolエラーのあるNSThread
私はインターネットにファイルを保存する方法を持っています、それは機能しますがただ遅いです。次に、ユーザーインターフェイスをよりスムーズにしたいので、遅いタスクを処理するためにNSThreadを作成します。
次のようなエラーのリストが表示されます。
NSThreadがない場合、次のようなメソッドを呼び出します。
そして、NSThreadを使用してメソッドを呼び出すために以下を使用しました。
ありがとう。
.net - .NET コードを作成する際のメモリ リークの回避に関する「注意事項」リストは何ですか?
何千行もの .NET コードを記述するときに、メモリ リークを避けるために何を心に留めていますか? 私は検査よりも予防の大ファンです。この点に関して、「String1+String2」の代わりに「StringBuilder」を使用して文字列を結合する有名な例がありますが、あなたのコーディング経験から他に何がありますか?
あなたの考えを共有してくれてありがとう。
c - Fortran プログラムの mtrace
mtrace
Fortran プログラムでメモリ リークを検出するために使用しようとしています。gfortran コンパイラを使用しています。mtrace の (動作する) C の例については、ウィキペディアのエントリを参照してください: http://en.wikipedia.org/wiki/Mtrace
私は両方の方法を試しました。つまり、mtrace() と muntrace() をラップして fortran プログラムから呼び出し、また mtrace() と muntrace() を直接呼び出す C プログラムを作成しました。どちらの方法でもメモリ リークを検出できませんが、ここでは後者のみを紹介します。
example.c
leaky.f90
私はコンパイルします:
次に、次のように実行します。
raw.txt
mtrace
次に、出力を次のように解析します。
そして得る:
メモリリークはありません。
私が間違っていることはありますか、またはmtrace
リークのあるfortranメモリ割り当てを見つけるためにできることはありますか? gfortran はトレースしない別のmalloc
呼び出しを使用していると思いmtrace
ます... 実際、上で書いたように、(ラップされた)mtrace()
とmuntrace()
.
EDITED:他のオプション(ここではまだ言及されていないものを含む)を検討しましたが、デバッグ中の実際のコードはP6 / AIXで実行されるため、Valgrindは「ちょうど」不便です(別のマシンで実行する必要があります)一方、Forcheckは不便 (別のマシンで実行する必要があります) で、高価です (~ 3k$)。現時点では、mtrace が最適なソリューションです。
再編集:私の推測
gfortran はトレースしない別の
malloc
呼び出しを使用していると思います...mtrace
正しかった。実行可能ファイルを調べると ( または のいずれかでnm
)readelf
呼び出しはありませんmalloc()
が、_gfortran_allocate_array
malloc を呼び出す可能性があるものがあります)。他のアイデアはありますか?
再度編集: 回答を投稿しましたが、受け入れることができません ( http://stackoverflow.uservoice.com/pages/general/suggestions/39426にアクセスして、機能をリクエストしてください。本当に必要です。評判の向上は必要ありません)。
c++ - new char[n] で auto_ptr を使用するのは間違っていますか
を使用して一時的な自動削除文字バッファを宣言した場合
バッファが範囲外になると、バッファは自動的に削除されます。delete を使用してバッファを削除すると仮定します。
ただし、バッファーは new[] を使用して作成されているため、厳密に言えば、バッファーは delete[] を使用して削除する必要があります。
この不一致が原因でメモリ リークが発生する可能性はありますか?
c - C で malloc と free のラッパー関数を作成する
メモリ リークを通知するために、C用free
およびC用のラッパー関数を作成しようとしています。malloc
これらの関数を宣言する方法を知っている人はいますか?私が呼び出すmalloc()
とfree()
、標準ライブラリ関数ではなくカスタム関数が呼び出されますか?
c# - ループ内で新しい StringBuilder を作成するよりも、StringBuilder の Remove メソッドを使用する方がメモリ効率が良いですか?
C# では、メモリ効率が高いのはどちらですか: オプション #1 またはオプション #2?
javascript - この JavaScript が IE7 でメモリ リークを引き起こす理由を誰か説明できますか?
コードはかなり長いですが単純です。
- 100 個のリーキーな JavaScript オブジェクトが作成されます。
- JS オブジェクトから 10 個の漏洩要素が作成されます。
- 1 要素が削除され、1 要素が 10000 回追加されます。
detachEvent
呼び出しが正しく機能していないと思います。また、this.eventParams
配列から単純な変数に変更すると、リークはなくなります。なんで?