Rational Purify 7 を使用して C++ アプリケーションの 1 つをプロファイリングしようとしていますが、バイナリの実行で問題が発生しています。問題を絞り込むために、非常に単純な C++ プログラムのプロファイリングを試みましたが、同じエラーが表示されます。Purify を使用して実行したときに得られるコードと出力を貼り付けました。
// purify.cc
#include <iostream>
int main()
{
int *i = new int[10];
return 0;
}
[12:15 AM]~/testPrograms$ purify -recursion-depth-limit=0 --best-effort --cache-dir=/home/deepakde/testPrograms g++ purify.cc [12:17 AM]~/testPrograms$ ./a.out Purify: 警告: ファイルを開いてプログラム ヘッダー情報を読み取ることができません **** インストルメント化された ./a.out の浄化 (2013 年 4 月 22 日月曜日 00:17:37 の pid 10897) * Purify 7.0.0.0-010 080125 Linux (64 ビット) (C) Copyright IBM Corporation. 1992 年、2008 年無断複写・転載を禁じます。 * 連絡先情報については、「purify -help」と入力してください。 * Purify Viewer 出力の場合は、DISPLAY 環境変数を設定します。 * オプション設定: -g++=yes -purify -recursion-depth-limit=0 --best-effort \ --cache-dir=/home/deepakde/testPrograms \ -purify-home=/opt/purifyplus/7_fixpack3/releases/purify.i386_linux2.7.0.0.0-010 \ -gcc3_path=/usr/bin/g++ -cache-dir=/home/deepakde/testPrograms Purify: 警告: ファイルを開いてプログラム ヘッダー情報を読み取ることができません Purify: 警告: ファイルを開いてプログラム ヘッダー情報を読み取ることができません Purify: 警告: ファイルを開いてプログラム ヘッダー情報を読み取ることができません **** 装備された ./a.out の浄化 (pid 10897) **** MSE: メモリ セグメント エラー: * これはスレッド 10897 で発生しています: *不明な関数* [pc=0x2ba62329f4d0] *不明な機能* [pc=0x3d2b20d3fa] * メモリ セグメントの境界をまたぐメモリ範囲へのアクセス。 0x2ba6236806b0 で終わる 8 バイトの 0x2ba6236806a8 をアドレス指定し、 これはヒープにもメインスタックにもありません。 **** 装備された ./a.out の浄化 (pid 10897) **** MSE: メモリ セグメント エラー: * これはスレッド 10897 で発生しています: *不明な機能* [pc=0x2ba62329f4fd] *不明な機能* [pc=0x3d2b20d3fa] * メモリ セグメントの境界をまたぐメモリ範囲へのアクセス。 0x2ba6236806c8 で終わる 8 バイトの 0x2ba6236806c0 をアドレス指定し、 これはヒープにもメインスタックにもありません。
Purify の実行中に表示されるこのエラー メッセージについて誰か助けてもらえますか? プログラムは起動さえせず、このメッセージでエラーになります。
RedHat Linux 2.6 64 ビットで Purify 7 フィックスパック 3 を使用しています。