次のサブコマンドを、dbx 内で collector コマンドとともに使用して、コレクタにより収集されるデータの種類を制御できます。実験がアクティブな場合は、警告メッセージが出力され、サブコマンドは無視されます。
時間ベースのプロファイルデータの収集を制御します。option に使用できる値は次のとおりです。
on - デフォルトのプロファイル間隔 (10 ミリ秒) で時間ベースのプロファイルを有効にします。
off - 時間ベースのプロファイルを無効にします。
timer interval - プロファイル間隔を設定します。interval に使用できる値は次のとおりです。
on - デフォルトのプロファイル間隔 (約 10 ミリ秒) を使用します。
lo[w] - 低分解能のプロファイル間隔 (約 100 ミリ秒) を使用します。
hi[gh] - 高分解能のプロファイル間隔 (約 1 ミリ秒) を使用します。高分解能のプロファイルについては、「時間ベースのプロファイルに関する制限事項」を参照してください。
value - プロファイル間隔を value に設定します。value のデフォルトの単位はミリ秒です。value は、整数または浮動小数点数として指定できます。オプションとして、数値の後ろに接尾辞 m を付けてミリ秒単位を選択するか、u を付けてマイクロ秒単位を選択することができます。プロファイル間隔は、時間の分解能の倍数である必要があります。時間の分解能値よりも大きな値であっても倍数でない場合は、端数が切り捨てられます。時間の分解能値よりも小さな値の場合は、時間の分解能に設定されます。どちらの場合にも、警告メッセージが表示されます。
デフォルトの設定は約 10 ミリ秒です。
デフォルトでは、hwprofile サブコマンドを使用してハードウェアカウンタオーバーフローのプロファイルデータ収集が有効になっていないかぎり、コレクタは時間ベースのプロファイルデータを収集します。
ハードウェアカウンタオーバーフローのプロファイルデータの収集を制御します。ハードウェアカウンタオーバーフローのプロファイルをサポートしていないシステム上でこの機能を有効にしようとすると、dbx から警告メッセージが返され、コマンドは無視されます。option に使用できる値は次のとおりです。
on - ハードウェアカウンタオーバーフローのプロファイルを有効にします。デフォルトでは、通常のオーバーフロー値で cycles カウンタのデータが収集されます。
off - ハードウェアカウンタオーバーフローのプロファイルを無効にします。
list - 使用可能なカウンタの一覧を返します。一覧の説明については、「ハードウェアカウンタのリスト」を参照してください。ハードウェアカウンタオーバーフローのプロファイル機能がシステムでサポートされていない場合は、dbx から警告メッセージが返されます。
counter counter_definition... [, counter_definition ] – カウンタの定義は次の形式です。
[+]counter_name [~ attribute_1=value_1]...[~ attribute_n =value_n][/ register_number][,interval ]
ハードウェアカウンタの name を選択し、そのオーバーフロー値を interval に設定します。オプションとして、追加のハードウェアカウンタ名を選択し、それらのオーバーフロー値を指定された間隔に設定します。オーバーフロー値は次のいずれかです。
on または NULL 文字列 - デフォルトのオーバーフロー値で、collect を引数なしで入力することによって判別できます。
hi[gh] - 選択したカウンタの高分解能値で、デフォルトのオーバーフロー値の約 1/10 です。旧バージョンのソフトウェアとの互換を図るため、h の省略形もサポートされています。
lo[w] - 選択したカウンタの低分解能値で、デフォルトのオーバーフロー値の約 10 倍です。
interval - 特定のオーバーフロー値で、10 進数または 16 進数形式の正の整数です。
複数のカウンタを指定する場合、それらのカウンタは異なるレジスタを使用する必要があります。使用するレジスタが同じである場合は警告メッセージが出力され、コマンドは無視されます。
ハードウェアカウンタがメモリーアクセスに関連するイベントをカウントする場合、カウンタ名の前に + 記号を付けて、カウンタのオーバーフローを発生させた命令の実際の PC の検索をオンにすることができます。検索が成功すると、PC と参照された有効アドレスがイベントデータパケットに格納されます。
デフォルトでは、コレクタは、ハードウェアカウンタのオーバーフロープロファイルデータを収集しません。ハードウェアカウンタオーバーフローのプロファイルが有効になっていて profile コマンドが指定されていない場合、時間ベースのプロファイルは無効となります。
「ハードウェアカウンタオーバーフローのプロファイルに関する制限事項」も参照してください。
同期待ちトレースデータの収集を制御します。option に使用できる値は次のとおりです。
on - デフォルトのしきい値で同期待ちトレースを有効にします。
off - 同期待ちトレースを無効にします。
threshold value - 同期遅延の最小しきい値を設定します。value に使用できる値は次のとおりです。
ヒープトレースデータの収集を制御します。option に使用できる値は次のとおりです。
on - ヒープトレースを有効にします。
off - ヒープトレースを無効にします。
デフォルトでは、コレクタはヒープのトレースデータを収集しません。
スレッドアナライザ用に、データ競合検出またはデッドロック検出のデータを収集します。次のいずれかの値を指定できます。
off – スレッドアナライザのデータ収集を無効にします。
all – すべてのスレッドアナライザデータを収集します。
race - データ競合検出データを収集します。
deadlock - デッドロックと潜在的デッドロックのデータを収集します。
スレッドアナライザについての詳細は、『Oracle Solaris Studio 12.2: スレッドアナライザユーザーズガイド』および tha.1 のマニュアルページを参照してください。
標本収集モードを制御します。option に使用できる値は次のとおりです。
periodic - 定期的な標本収集を有効にします。
manual - 定期的な標本収集を無効にします。手動の標本収集は有効のままです。
デフォルトでは、標本収集間隔 value が 1 秒での定期的な標本収集が有効となります。
dbx がターゲットプロセスを停止したときに、標本を記録するかどうかを制御します。キーワードの意味は、次のとおりです。
on - dbx がターゲットプロセスを停止するたびに標本が記録されます。
off - dbx がターゲットプロセスを停止したときに標本は記録されません。
デフォルトでは、dbx がターゲットプロセスを停止したとき、標本が記録されます。