0

このページを見て、dbx を使用してプログラムのメモリ リークをチェックできることがわかりました。私は実際にそれをしたことはありませんが、メモリリークをチェックするのには良い代償のようです.

私は以前、GUI がなく、常にコマンド ラインで作業していた HPUX および IBM AIX UNIX OS で作業していました。ライブラリ rtcaudit.so (ランタイム チェック用) は、Sun によって提供されます。このライブラリはsun solarisでしか利用できないということですか?

なぜ私が自分で試すことができないのか教えてください.しかし、ここでの問題は、私が現在unixではなくwindowsで作業していることです.HPUXまたはIBM AIXで同じことを使用できるかどうかを知りたいだけです.

誰かがこれについて知っていますか?知っている場合は共有してください

4

2 に答える 2

3
  • rtcaudit.soOracle Solaris Studio (旧称 Sun Studio)の一部です。名前にもかかわらず、Linux x86 でも動作します。そのため、Linux ボックスをお持ちで、しばらくの間、そこで試してみることをお勧めします。(その場合は、最初に Valgrind を試してください。Scotts の回答を参照してください。)

  • HP には、Wildebeest Debugger (WDB) (修正された gdb) があります。WDB には、メモリ リークを検出するための独自の拡張機能があります。これらは Suns dbx とは異なりますが、試してみることをお勧めします。

  • Visual Studio を使用している場合は、メモリ リークを見つけるためのサポートが提供されます。Memory Leak Detection and IsolationMSDNを参照してください。

  • このタイプのエラーをキャッチする無料のライブラリがいくつかあります。Windows の場合、たとえばDUMA、 、Electric FenceおよびがありVisual Leak Detectorます。(評判ポイントが足りないのでリンクを貼れません。)

PS: このような問題に遭遇した場合、最初に試すのは Valgrind です (Scotts の回答を参照)。対話は必要ありませんが、多くの有用な情報を吐き出すだけです。完全なデバッガーではありませんが、多くの場合、エラーを修正するのに十分なヒントが得られます。強くお勧めします!ただし、Windowsでは実行されません。

こちらのstackoverflow.comで、この質問、この質問、およびこの質問をご覧になることをお勧めします。

于 2011-03-29T12:45:32.300 に答える
3

オープン ソースの代替手段はValgrindです。これは、メモリ リークを検出するだけでなく、他の種類のメモリ エラーや、私が使用したことのない他の多くのものも検出します。現在、Linux、MacOS、FreeBSD、および NetBSD でのみ実行されますが、プログラムがプラットフォームに依存していない場合は、ターゲット プラットフォームで実行する前に、1 つのプラットフォームで開発およびデバッグできます。

于 2011-03-30T22:49:37.467 に答える