最近、Delphi 4 から Delphi 2009 にアップグレードしました。Delphi 4 では、Primoz Gabrijelcicの GpProfile をプロファイラーとして使用し、Turbo Power の Memory Sleuthをメモリ分析とリークのデバッグに使用していました。どちらも私にとってはうまくいきました。しかし、今は Delphi 2009 で動作する新しいツールが必要です。
Delphi のプロファイリング/分析ツールのリーダーは、明らかにAutomatedQA の AQTimeです。彼らは最近、Atanas Soyanovの Memproof を手に入れました。これは優れた無料のメモリ分析ツールであり、その機能を AQTime に組み込みました。しかし、AQTime は個々のプログラマにとって非常に高価です。実際には、Delphi 2009 へのアップグレードよりも多くの費用がかかります。
私の質問は次のとおりです。現在のバージョンの Delphi でプロファイリングとメモリ分析を行うための、あなたが満足し、推奨している他の安価なオプションはありますか?
補遺: 初期の回答者は、Delphi に既に含まれている FastMM マネージャーがメモリ リークの検出に非常に優れていることを示しているようです。
では、ソース コードのプロファイリングに代わる良い方法はありますか?
私が興味を持っているのは、Michael Adolphによる ProDelphi で、コストは AQTime の 6 分の 1 以下です。使いますか?AQTime は 6 倍の価値がありますか?
補遺 2: AQTime と ProDelphi の両方の試用版をダウンロードしました。
AQTime は少し圧倒され、最初は少し混乱しました。それを接続するために必要ないくつかのトリックを見つけるのに数時間かかりました.
ProDelphi は、私が慣れ親しんでいた GpProfile と非常によく似ていました。しかし、そのウィンドウはごちゃごちゃしていてわかりにくく、GpProfile ほど良くはありません。
私にとって大きな違いは次のとおりです。
ProDelphi はコードを変更します。AQTime はそうではありません。コードを変更すると、何か問題が発生した場合にデータが破損する可能性がありますが、GpProfile での私の経験では、そのようなことは一度もありませんでした。AQTime のプラス 1。
ProDelphi では、最適化をオフにする必要があります。しかし、プロファイリングしたいのは、最適化がオンになっているプログラム、つまりその実行方法です。AQTime のプラス 1。
ProDelphi では、関数またはプロシージャまでプロファイルを作成することしかできません。AQTime は、個々の行に移動できます。AQTime のプラス 2。
ProDelphi には 20 のルーチンをプロファイリングする無料バージョンがあり、そのプロ バージョンの価格は 100 米ドル未満です。AQTime は 600 米ドルです。ProDelphi の場合はプラス 4。
これでスコアは 4-4 になりました。どう思いますか?
補遺 3: Primoz Gabrijelcic は、GpProfile を再び機能させることを計画しています。以下の回答のいくつかに対する彼のコメントを参照してください。彼はGabrとして StackOverflow に参加しています。
補遺 4: 結局、プロファイラーの解決策があるようです。以下で説明する Andre のオープン ソース asmprofilerを参照してください。