Oracle® Solaris Studio 12.4: Discover および Uncover ユーザーズガイド

印刷ビューの終了

更新: 2015 年 12 月
 
 

簡単なプログラム例

次の例は、プログラムを準備し、discover を使用して計測を行い、それを実行して、検出したメモリーアクセスエラーに関するレポートを生成する方法を示しています。この例は初期化されていないデータにアクセスする単純なプログラムを使用します。

% cat test_UMR.c
#include <stdio.h>
#include <stdlib.h>
int main()
{
//  UMR:  accessing uninitialized data
int *p = (int*) malloc(sizeof(int));
printf("*p = %d\n", *p);
free(p);
}

% cc -g -02 test_UMR.c
% a.out
*p = 131464
% discover a.out
% a.out 

discover の出力は、次の図に示すように、初期化されていないメモリーが使用された場所とそれが割り当てられた場所を、結果のサマリーとともに示します。

image:HTML レポート