JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.3 リリースの新機能     Oracle Solaris Studio 12.3 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris Studio 12.3 リリースの紹介

2.  コンパイラ

3.  ライブラリ

4.  コード分析ツール

5.  パフォーマンス解析ツール

6.  デバッグツール

7.  Oracle Solaris Studio IDE

8.  その他のツール

9.  このリリースでの既知の問題、制限事項、および回避策

コンパイラ

コンパイラに共通する問題

ドキュメントの誤り

C++

Solaris 上の Apache 標準ライブラリの問題

あいまいさ: コンストラクタ呼び出しまたは関数へのポインタ

-instances=static で -xipo または -xcrossfile があると、リンクに失敗する

リンク時の名前符号化の問題

大域的ではない名前空間のオブジェクトをテンプレートから参照できない

名前空間内の #pragma align と符号化名

Fortran

Fortran 77 ライブラリが削除された

配列組み込み関数における大域レジスタの使用

アーカイブライブラリ内の F95 モジュールが実行可能ファイルに含まれない

Linux プラットフォームの gethrtime(3F)

ツール

dbx

dbx に関する既知の問題と回避策

dbx の制限事項と非互換性

パフォーマンスアナライザ

collect ユーティリティー

スレッドアナライザ

er_kernel ユーティリティー

IDE

dmake

dmake の制限事項

インストール

索引

ツール

dbx

dbx に関する既知の問題と回避策

  1. dbx がプロセスに接続された場合のデータ収集の問題

    コレクタライブラリ libcollector.so を事前にロードしないで dbx を実行中のプロセスに接続すると、さまざまなエラーが発生する可能性があります。

    • どのトレーシングデータも収集できません。同期はトレーシング、ヒープトレーシング、または MPI トレーシングを待機します。トレースデータの収集は各種ライブラリに割り込むことで行われますが、libcollector.so が事前にロードされていなければ、割り込みを行えません。

    • dbx がプロセスに接続されたあとにシグナルハンドラがインストールされ、そのシグナルハンドラが SIGPROF シグナルおよび SIGEMT シグナルを転送しない場合、プロファイルデータと標本データが失われます。

    • プログラムが非同期入出力ライブラリ libaio.so を使用している場合、libaio.so が SIGPROF を使用して非同期の取り消し操作を行うため、時間ベースのプロファイルデータと標本データは失われます。

    • プログラムがハードウェアカウンタライブラリ libcpc.so を使用している場合、コレクタとプログラムが両方ともこのライブラリを使用するため、ハードウェアカウンタオーバーフロープロファイリング実験が破壊されます。dbx がプロセスに接続されたあとでハードウェアカウンタライブラリがロードされた場合、libcpc.so 内での検索ではなく一般的な検索によって libcpc ライブラリ関数への参照が解決されるのであれば、ハードウェアカウンタ実験が成功する可能性があります。

    • プログラムが setitimer(2) を呼び出す場合、コレクタとプログラムの両方がタイマーを使用しているため、時間ベースのプロファイリング実験に失敗する場合があります。

  2. Java コードのデバッグ中に dbx がクラッシュする可能性がある

    dbx シェル内から cd コマンドを発行したり、CLASSPATH 環境変数または CLASSPATHX 環境変数を設定したりすると、その後、dbx がセグメント例外でクラッシュする可能性があります。

    回避策:

    • 上記の実行もしくは設定を行わない。

    • 上記の実行もしくは設定を行う前に、すべてのウォッチポイント (表示) を削除する。

  3. Java コードの再デバッグ時に dbx がクラッシュする

    Java コードに対してデバッグコマンドを 2 回続けて発行すると、dbx がクラッシュする可能性があります。

  4. アプリケーションを構築時とは異なる J2SE 上でデバッグすると、dbx から例外がスローされる

    アプリケーションの構築時に使用した J2SE テクノロジのバージョンとは異なるリリースの J2SE テクノロジの下でそのアプリケーションをデバッグすると、dbx から例外がスローされます。

  5. RTC 前の監視割り当てが原因でRUA エラーが誤ってレポートされていた

    マルチスレッドプログラムを使用する例外的な状況下で、実行時検査 (RTC) がメモリー割り当ての監視を開始する前に割り当てられた内部スレッド関連データへのアクセスを検出したときに、RTC は RUA エラーを誤ってレポートします。このような状況は、通常のスレッド切り替え動作の一部なので、dbx suppress コマンドを使用することにより、このような誤った RUA レポートを安全に無視できます。

dbx の制限事項と非互換性

Oracle Solaris Studio 12.3 の dbx には次の制限があります。

パフォーマンスアナライザ

この節では、パフォーマンスアナライザツールの既知の問題について説明します。

collect ユーティリティー

この節では、collect ユーティリティーやデータ収集の既知の問題について説明します。

スレッドアナライザ

この節では、スレッドアナライザの既知の問題について説明します。

次のすべてが真であれば、スレッドアナライザの実行時エラーが発生する可能性があります。

問題を回避するには、collect を実行する前に、環境変数 LD_NOAUXFLTR=yes を設定してフィルタライブラリのロードをスキップします。フィルタを使用しないことにより、パフォーマンスが若干低下する可能性があります。

er_kernel ユーティリティー

この節では、er_kernel ユーティリティーの既知の問題について説明します。

IDE

この節では、IDE の既知の問題について説明します。

dmake

ここでは、これまでにわかっている dmake ソフトウェアの問題点とその回避策について説明します。

分散モードで dmake を使用した場合に何か問題が発生する場合は、次の点を確認してください。

  1. $HOME 環境変数がアクセス可能なディレクトリに設定されているか

    % ls -la $HOME

  2. ファイル $HOME/.dmakerc が存在するか、このファイルの読み取りが可能か、このファイルの情報が正しいか

    % cat $HOME/.dmakerc

  3. $HOME/.dmakerc ファイルに示されているすべてのホストが稼働しているか (/usr/sbin/ping コマンドを使用して各ホストをチェック)

    % /usr/sbin/ping $HOST

    % /$$HOST には、$HOME/.dmakerc ファイルでホストとして示されているシステムの名前を指定してください。

  4. dmake バイナリのパスが正しいか (dmakerxm、および rxs コマンドを使用)

           % which dmake
           % which rxm
           % which rxs   
  5. 各ホストへのリモートログイン (rsh または ssh) がパスワードなしで動作し、各リモートログインの所要時間が許容範囲 (2 秒未満) である。

    % time rsh $HOST uname -a

  6. 各ホスト上にファイル /etc/opt/SPROdmake/dmake.conf が存在するか。このファイル内の情報は正しいか。このファイルが存在しない場合は、dmake はこのシステムでジョブを 1 つだけ分散します。

    % rsh $HOST cat /etc/opt/SPROdmake/dmake.conf

  7. 各ホストの dmake バイナリのパスが正しいか

           % rsh $HOST `which dmake`
           % rsh $HOST `which rxm`
           % rsh $HOST `which rxs`    
  8. 各ホストから構築領域を利用できるか (rwx)

           % cd $BUILD
           % rm $HOST.check.tmp
           % echo "Build area is available from host $HOST" > $HOST.check.tmp
           % rsh $HOST cat $BUILD/$HOST.check.tmp 

    $BUILD には、構築領域のフルパスを指定してください。

  9. その $HOME は各ホストから使用可能か

           % cd $HOME
           % rm $HOST.check.tmp
           % echo "HOME is available from host $HOST" > $HOST.check.tmp
           % rsh $HOST cat $HOME/$HOST.check.tmp

dmake の制限事項

次の要件を満たしていれば、どのマシンも構築サーバーとして使用できます。