問題タブ [rational-purify]
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.
memory - Rational Purifyがメモリリーク、実行時エラーを表示していませんか?
これはプログラミングの質問のようには見えないかもしれませんが、本質的にコードを扱います。
次のテストコードがあります。これには、配列インデックスの範囲外、メモリリークなどの明らかなエラーがあります。-
このコードは、MS-VisualStudio2008に基づいて作成されています。
Rational Purify(バージョン7.0)を使用して、コードの実行時エラーやメモリリークを特定しようとしています。Purifyで使用するコードを作成する方法に関するいくつかの指針を読んだ後、MSVS-2008プロジェクト設定で以下のことを行いました。-
1.)インクリメンタルリンクを無効にします2.)デバッグ情報コンパイラフラグは/ Zi
3.)リンカーオプションを設定します-「基本的なランタイムチェックをデフォルト値に設定します。
4.)追加のリンカーオプション/ fixed:noを追加しました。
5.)ビルド構成はデバッグであり、最適化は有効になっていません。
次に、exeをビルドして取得します。このexeを使用してPurifyで実行し、同じようにインストルメントします。しかし、このexeを実行/計測した後のpurifyの出力ウィンドウには、上記のコードに存在するメモリリークなどに関するエラーは表示されません。
浄化出力ウィンドウには、インストルメントされてロード、実行されたさまざまなバイナリ(私のexeファイルと他のいくつかのシステムdll)の出力が表示されます。しかし、が私のexeに関するデータを示している出力には、エラーメッセージはありません。
MS-VS 2008でexeをビルドしているときに、コンパイル/リンカーオプションを指定するのを間違えていると感じています。または、生成された実行可能形式がPurifyと互換性がない/理解できないのですか?
1.)ここで何が間違っている可能性がありますか?exeファイルの作成中に必要になる可能性のあるオプションは他にありますか?
2.)Purifyを使用するプロセスは正しいですか、それとも何かが足りませんか?実行時分析を行った後、Purifyにプログラムのすべてのエラーを表示させるにはどうすればよいですか?
3.)Cコードの実行時分析を行うことにより、メモリリーク、範囲外の配列エラー、初期化されていないポインタの使用、変数、メモリ破損などを検出できる他のツール(無料/商用ライセンス)はありますか?
長いメールで申し訳ありませんが、明確にする必要がありました。
ありがとう。
-広告
continuous-integration - Purify を Hudson CI に統合する方法は?
私は Hudson CI システムをセットアップしており、今のところ、プロジェクトの構築と単体テストの実行に使用しています。次のステップは、メモリ リーク検出器の Purify をビルド サイクルに統合することです。ここで、purify 内でも単体テストを開始したいと考えています。このために、次のコマンドを実行する新しいバッチ タスクを作成しました。
Purify のドキュメントで読んだように、GUI モードではなく purify を実行するために /SaveTextData オプションが使用されます。コマンドラインでローカルワークステーションでこのコマンドを実行すると、完全に機能します。ただし、ハドソンによって開始された場合は、何も起こりません。残念ながら、浄化のログはありません...
Hudson やその他の CI システムで浄化を開始しようとした人はいますか?
前もって感謝します。
よろしくお願いします
マーティン
編集: Hudson を異なるコンピューターでマスターとスレーブとして実行していることをお伝えするのを忘れていました。マスターで、スレーブの浄化内で単体テストを開始するタスクを構成しました。JNLP 経由でスレーブを実行しています。
編集 18.03.2010:
わかりましたので、ようやく問題の原因に少し近づきました。
purify ローカルで単体テストを実行すると、ログ ファイル EngineCmdLine.log に 3 つのコマンドが含まれていることがわかりました。
次のコマンドで浄化を開始しています。
purify を手動で開始したときの EngineCmdLine.log の出力:
ファイル: D:\workspace\hudson\workspace\Purify_TestFW_CommonsCoreTest_Cpp_msv9\TestRunnerConsoleWD.exe
ファイル: C:\WINDOWS\system32\ws2_32.dll
ファイル: D:\workspace\hudson\workspace\Purify_TestFW_CommonsCoreTest_Cpp_msvs9\TestDemoWD.dll
Hudson 経由で起動した場合の出力:
purify のエラー出力:
問題は、purify が TestDemoWD.dll ライブラリでコマンドを 2 回開始するのはなぜですか?
hp-ux - Purify: エラー: Purify でスレッド ローカル データ領域が不足しました
Hp-UX 11.11B で aCC 3.85 を使用して purify 7.0 を実行しています。環境変数を次のように設定します。
しかし、それでも以下のエラーが発生し、以下のエラー メッセージで浄化が停止します。
Purify: エラー: スレッド ローカル データ領域が不足しています。終了します。現在、スレッドの最大数は 4000 です。割り当てられたスレッドの数を増やすには、(ksh) PURIFYOPTIONS="-max_threads=8000 $PURIFYOPTIONS"; のようなコマンドを使用します。export PURIFYOPTIONS (csh) setenv PURIFYOPTIONS "-max_threads=8000 printenv PURIFYOPTIONS
"
="-max_threads=8000" を入力すると、サイズを 16000 に増やすように再度要求されます (PURIFYOPTIONS 変数の値を 2 倍にします。
誰かがこの問題を解決するのを助けることができますか?
oracle - 共有ライブラリをpurifyを使用したインストルメンテーションから除外するにはどうすればよいですか?
Oracleのlibclntshに対してリンクされているCコードをインストルメント化すると、結果のプログラムを実行するときにクラッシュが発生します。プログラムは「IllegalInstruction」信号で終了します。
このバグは、Oracle11gおよびPurifyの少なくとも一部のバージョンに存在します。
これは既知のバグであり、IBMは回避策を公開しています。残念ながら、回避策は私の作業環境では役に立ちません。
使ってます
SunSPARCハードウェア上のSolaris10で。CソースをSunCC11でコンパイルします。
回避策で説明されているように、私は次のようにlibclntshをインストルメンテーションから除外しようとしました。
これは動作しません。Purifyは、libclntsh.so.11.1をインストルメントしていると言っているだけで、確かに、対応する_pp3_
ファイルを取得しますが、1つではありません_pp0_
。
除外パターンのバリエーションを試しました。
成功せずに。
libclntshを除外できることは、インストルメンテーション時間にも大きく影響します。このSPARCマシンでは、libclntsh.soをインストルメント化するのに数分かかります。
回避策を見ると、HPUXについて言及しているだけですが、Solarisでも適用できることを願っています...どういうわけか。
scons - Purify を Scons に接続する方法は?
scons へのさまざまな呼び出しを含む Makefile があります。
SCons コマンドは、次のような行を生成します。
Purify をこのミックスにどのように接続しますか? 最終的には、行は次のようになると思います
c++ - Windows のデーモンのコード カバレッジ
デーモンのコード カバレッジを行う必要があります。デーモン アプリケーションは c++ で記述されています。独自のライブラリを持つクライアント テスト プログラムを使用して、デーモン機能をテストします。ライブラリはデーモンと通信します。
普段は IBM Rational PureCoverage を使用しています。しかし、この状況でクライアント テスト プログラムを実行すると、クライアント ライブラリのみにヒットし、デーモン ライブラリにはヒットしません。
このシナリオに役立つ他のツールはありますか?
ありがとう。
windows-7 - Rational PurifyPlus: どこで購入できますか? 代替案の経験はありますか?
Rational PurifyPlus for Windowsを購入する可能性を Web で探しています。当社では、以前から Purify を使用しており、Windows 7 に対応する必要があるため、現在のバージョンのライセンスに置き換えたいと考えています。
Rational Software 部門は、2014 年後半にIBMからUNICOM Systemsに売却されました。現在に至るまで、ライセンスを販売できる場所や店舗を見つけることができませんでした。UNICOM の Web サイトには「購入方法」セクションさえありません。
同社の問い合わせフォームを使用して情報を入手しようとしたが、回答が得られなかった。
昨年中にその製品を購入できた場合は、それをどのように達成したかを教えていただけると助かります.
または、Purify の適切な代替案について詳しく説明してもらえますか? もしかしたら、最近 Purify を別のものに変えて、以前よりも幸せになったのではないでしょうか?
どうもありがとうございました。
c++ - purify ツールが "throw true" ステートメントで IPR エラーを表示するのはなぜですか?
purifier を使用してメモリ チェックを実行すると、次のステートメントで IPR エラーが表示されます。
問題は何ですか?
私の分析によると、purifyの古いバージョンには問題があります。しかし、私は最新バージョンを使用しています。