17

何年もの間、私は 2 つの優れたツールBoundsCheckerPurifyを使用してきましたが、これらのアプリケーションの開発者は私をがっかりさせました。私たちは両方の会社に企業アカウントを持っていますが、どちらも 64 ビット アプリケーションをサポートするバージョンを作成するつもりはないと言っています。

64 ビットのネイティブ C++/MFC アプリケーションをサポートするオープン ソースまたは商用の代替製品を推奨できる人はいますか?

4

10 に答える 10

4

Parasoft には、Insure++ というツールがあります (リンク: http://www.parasoft.com/jsp/products/quick_facts.jsp?product=Insure )。

Linux 上の 32 ビットおよび 64 ビット アプリで Insure++ を使用しましたが、問題なく動作しました。テンプレート/stl コードを解析しようとしたときに混乱し、失敗することがありました。

その URL は、32 ビットおよび 64 ビットの Windows で動作することを示しています。

于 2008-09-09T03:58:08.260 に答える
2

insure++ は、コードを計測する場合にのみ機能します。一度やってみた。約 1000 行のコードをコンパイルするのに約 5 分かかりました。コンパイルする必要のあるプロジェクトが巨大だったので、Insure++ は機能しないとすぐに判断しました。

レポートは言うまでもなく、Insure++ からの出力はかなり古風です。また、実行時のパフォーマンスの低下もひどいものでした。

numega/compuware/other_new_company からの boundschecker に関する注意: 購入しないでください。32ビットアプリのみをプロファイルします。64 ビット アプリには対応していません。ただし、64ビットOSにインストールできます。何年も前にアプリで使用するのをやめました。私はCppUnitテストでそれを使用します...時々。

一般的に、私はそこにあるすべてのネイティブ メモリ リーク ツールに完全にうんざりしています。それらはすべて機能しないか、シャットダウン時にアプリケーションをロックするだけです。

于 2010-06-12T10:18:34.433 に答える
2

参考: BoundsChecker 10.0 は、Windows XP から Windows 7 の 32 ビット バージョンと 64 ビット バージョンの両方で動作します。WOW64 アプリケーションをサポートし、Visual Studio 2010 もサポートしています。実際、Microsoft のリリースから 30 日以内に VS2010 のサポートをリリースしました。

私たちはバックログに追いついています。VS2005 と VS2008 のサポートを開始するのが非常に遅れました (BC 9.0、2008 年秋) が、これが発生した理由はさまざまでした。奇跡は、私たちがそれをまったく出したことでした。

BoundsChecker 10.5 がリリースされたときには、さらに優れた機能が追加されているはずです。乞うご期待。

開示:私はMicroFocusで働いています。

于 2010-08-14T22:09:42.050 に答える
2

BoundsChecker 9.01 は、ついに VC2008 と x64 ビットをサポートするようになりました。

于 2009-05-28T10:00:17.517 に答える
1

Intel(R) Parallel Inspector ( http://software.intel.com/en-us/intel-parallel-inspector/ ) は、Microsoft* Visual Studio のスレッド化およびメモリーチェックのプラグイン ツールです。Windows で 32 ビットおよび 64 ビットの C/C++ をサポートします。これは、30 日間無料で評価できる商用アプリケーションです。

開示: 私はインテルで働いています。

于 2010-07-28T13:48:49.597 に答える
0

x64 および x86 用のアプリケーション検証ツールは、ヒープの破損を検出します http://www.microsoft.com/download/en/details.aspx?id=20028

于 2011-07-04T13:42:36.937 に答える
0

私は境界チェックやその他の動的分析ツールを使用しました。アーキテクチャは異なりますが、チェックしているのはコードです-理論的には、任意のバックエンドで境界チェックを実行でき、結果は同じです-コードはどちらか外側に出ますその範囲か、そうでないか。

唯一の複雑な点は、4GB を超えるメモリ空間に対処すること、32 ビット アーキテクチャにクロスコンパイルできないコード (ソースがない 64 ビット オブジェクト ファイルなど) を処理すること、および一般的な 64 ビット移行です。問題 (-1 の代わりに 0xFFFFFFFF をチェックするなどのプラットフォーム固有のコード)

プログラムで境界チェックを行う際に、他にどのような問題が発生していますか? 32 ビット版をコンパイルできませんか?

確かに、それはあなたの理想的な解決策ではなく、実行するコードを常にチェックする必要がありますが、この場合、独自の境界チェックを行いたくない限り、選択の余地がないかもしれません (これは任意の方法で良い考えです)場合...)。

-アダム

于 2008-09-08T13:18:05.693 に答える
0

BC 9.0 が WOW64 をサポートすることを理解しています

于 2008-10-15T09:45:43.307 に答える
0

Microsoft Windows の 64 ビット バージョンに対する IBM PurifyPlus サポートから:

テクニカルノート (FAQ)

質問

IBM Rational PurifyPlus は 64 ビット バージョンの Microsoft Windows でサポートされていますか?

原因

Microsoft Windows の 64 ビット バージョンが普及しています。

答え

バージョン 7.0.1 iFix 003 以降、PurifyPlus は Windows での 64 ビット アプリケーションのテストをサポートしています。

iFix 003 の詳細については、次の技術情報IBM Rational PurifyPlus for Windows v7.0.1.0-003 を参照してください。

このバージョンの Purify をインストールすると、[スタート] メニューに[Purify (64 ビット アプリケーション用) ] エントリが表示されます。

于 2012-07-12T12:14:52.377 に答える