問題タブ [fastmm]

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.

0 投票する
3 に答える
6472 参照

delphi - delphi-アプリケーションを閉じるときにすべてのスレッド(TThread)を終了します

私のアプリケーションはtcp/ipサーバーであり、メインスレッドは1回だけ作成され、常にリッスンしています。新しいクライアントが接続すると、メインスレッドはそのタイプの新しいスレッドを作成しますTClientThread。ただし、実行中のクライアントスレッドのリストはありません。これは、アプリが少し複雑になるためです。スレッドがビジー(私の場合は「ビジー」)であっても、すべてのスレッドで「terminate」メソッドを実行する方法はありますか。タイムアウトセットが約30秒であるデータを待機していることを意味します...したがって、待機せずにとにかくデータを強制終了する必要があります。)?単純なクローズアプリケーションは、スレッドで「終了」メソッドを実行していないようです。これにより、FastMMによってメモリリークが報告されます...

0 投票する
1 に答える
204 参照

delphi - FastMM svn バージョン

svn チェックアウトから FastMM をダウンロードしました。(安定したパッケージ版の代わりに)

リリース ビルドで使用できますか (または安全に使用できますか)?


ロブ・ケネディが提案したように、私はこれを別の質問として尋ねています。

0 投票する
4 に答える
1937 参照

delphi - Delphi:IdStackのメモリリークですが、IdStackを使用しているのは誰ですか?

FAstMMは、IdStack.pasのTIdCriticalSectionからのメモリリークを報告します。これは意図的なリークであり、コードに記載されていることを理解しています。

私が理解していないのは、IdStackが私のプロジェクトに含まれている理由です。どのユニットがそれを引き込んでいるかをどのように知ることができますか?

delphi 2007に付属しているバージョンのfastmmを使用して、このリークをレポートから除外する方法はありますか?

更新:ビルドに含まれるすべてのpasファイルを見つける方法はありますか?

0 投票する
2 に答える
1142 参照

delphi - Getting a longer stacktrace from FastMM?

When FastMM logs a memory leak it includes a stacktrace going back 9 calls. Problem is that the stacktrace is too general to locate the problem easily. The last function call in the trace is called at least 50 times and the object leaked is a very common one.

スタックトレースを長くするにはどうすればよいですか?

リークをより簡単に見つけるためのヒントはもちろん大歓迎です。リークされたオブジェクトはほとんどがインターフェイスであるため、相互参照または _ReleaseRef が呼び出されていないものです。

FastMM492を使用して、Delphi 7を使用しています。

0 投票する
1 に答える
1748 参照

delphi - Delphi で ActiveX DLL を正しく解放/ファイナライズする方法は?

ここでは ODNCServer というクラスを使用しています。初期化時にTAutoObjectFactoryオブジェクトが作成されます。

現在、このオブジェクトがどこにも解放されていないため、 FastMMはメモリ リークについて不平を言っています。このようなファイナライズステートメントを追加すると

その後、オブジェクトは解放されますが、メモリ リークに関する FastMM ダイアログがポップアップした後、実際には OS がプログラムではなく DLL をアンロードしているように見えますのインスタンスはODNCServerこのように作成されます

そして次のように解放されます:

それで、そのメモリリークを取り除くために私が何を変更しなければならないか知っている人はいますか? ちなみに、FastMM'sRegisterExpectedMemoryLeaksを使って登録してリークを無視することも試しましたが、これはうまくいかないようです。さらに、たとえそれが単なる回避策であったとしても、これを行う正しい方法を知りたい.

0 投票する
2 に答える
1157 参照

delphi - FastMM、ランタイム パッケージでコンパイルされた、動的にロードされる DLL のリークに対するスタック トレース メモリ

FastMM と JCL デバッグ情報を併用して、アプリケーションのメモリ リークを追跡しています。ただし、Delphi でコンパイルされた dll であるプラグインがあります。dll とメイン アプリケーションの両方が共通のランタイム パッケージを使用します。ここで、アプリケーションをシャットダウンすると、メモリ リーク レポートがテキスト ファイルに生成されますが、これは問題ありませんが、メイン アプリケーションのスタック トレースのみが含まれています。プラグイン dll でメモリ リークが発生した場合、スタック トレースは LoadPlugins につながります。メインアプリで手続き!もちろん、プラグインには JCL デバッグ データが含まれています (.dll バイナリに挿入されます)。

問題はどこだ?それはランタイムパッケージの使用によるものですか? または、有効/無効にするのを忘れたスイッチ(定義)ですか?前もって感謝します

0 投票する
2 に答える
524 参照

delphi - FastMM と終了コードを使用してメモリ リークを検出する

夜間の自動ビルドで FastMMs memleakreporting を有効にする考えがあります。もちろん、メッセージボックスは無効にする必要があります。最も単純なのは、アプリケーションの終了コードが > 0 でメモリリークがあった場合です。簡単なテストを行ったところ、memleak と FastMM で終了コードは 0 でした。

私の質問は、FastMM に終了コードを設定するためのメモリリークがあったかどうかをどのように検出できますか?

0 投票する
1 に答える
869 参照

c++builder - C++ Builder 2010 FASTMM への切り替え方法

C++ ビルダー 2009 で実行されたいくつかのプロジェクトがあり、それらを実行するには borlandmm.dll が必要です。C++ Builder 2010 はデフォルトで Fastmm を使用することを読みましたが、私のプロジェクトではそうではないようです。まだ borlandmm.dll が必要です

では、プロジェクトを Fastmm を使用するように切り替えるにはどうすればよいでしょうか?

0 投票する
1 に答える
1570 参照

delphi - FullDebugModeなしでFastMMログをファイルに記録

アプリのシャットダウン時に表示されるFastMMメモリリークレポートを取得したいのですが、ダイアログボックスではなくファイルで表示されます。リークの再現に問題があるため、リリースビルドで使用することをお勧めします。ただし、ファイルへのログ記録に必要と思われるFullDebugModeは使用しない方がよいでしょう。

私は何かが足りないのですか、それともこれはサポートされていませんか?