プログラミングユーティリティ

予約語

予約語を表 1-4 に示します。これらの予約語を使用して属性または値を選択する場合は、その予約語を単一引用符で囲んでください。

表 1-4 予約語
addallocbuffer
clearconnectcontinue
createdeallocdelete
disableenablefcns
filterhelphistory
killktracelist
offonpfilter
probesquitresume
setssourcesuspend
traceuntracevalues

たとえば、以下のコマンドは、trace 属性の値が ON のプローブをすべて有効にします。traceon はどちらも予約語なので、単一引用符で囲む必要があります。

enable 'trace'='on'
表 1-5 prex のコマンド

コマンド 

アクション 

clear $set_name

clear selector_list

接続されているプローブ関数を切り離します。 

 

connect &debug $set_name

connect &debug selector_list

デバック関数をプローブポイントに接続します。このコマンドを実行しても、プローブポイントは有効になりません。デバッグ関数は、トレースファイルにではなく stderr に出力を送ります。

 

continue

prex を接続したまま、プログラムの実行を再開します。

create $set_name selector_list

selector_list と一致するプローブポイントのグループを作成します。同時に、selector_list のエイリアス $set_name を作成します。

enable $set_name

enable selector_list

disable $set_name

disable selector_list

プローブポイントに設定されているアクションをそのプローブポイントに実行させるかどうかを制御します。デフォルトでは、プローブポイントは無効になっています。つまり、prex はトレースをオンにしません。プローブポイントのトレースを停止する最も効率的な方法 (プローブポイントにおける実行時間の面から考えた場合) は、disable コマンドを使用する方法です。

enabledisable コマンドは、主スイッチで、トレースを実行するかどうかを決定する最も優先度が高い要素です。プローブポイントが無効の場合は、そのプローブポイントが debug() 関数に接続されていて trace 属性がオンであっても、stderr やトレースファイルに情報は送られません。

 
 
 

help

使用可能な prex コマンドをすべて表示します。

list attributes probes selector_list

list attributes probes$ set_name

指定されたプローブポイントが有効/無効のどちらであるか、そのプローブポイントのトレースがオン/オフのどちらであるか、および接続されているプローブ関数を表示します。「属性」で説明したように、属性が選択条件になります。たとえば、以下のコマンドは、一致したプローブポイントの name 属性と file 属性の値だけを表示します。

list name file probes $all

以下のコマンドは、デフォルトの属性とその値 (nameenabletracefilelinefuncs) をすべて表示します。

list probes $all

 

list fcns

定義済みの関数 (現在は、&debug だけが定義されています) を表示します。

list history

制御コマンドの履歴を表示します。dlopen() によって新しい共有オブジェクトがプログラムに取り込まれるたびに connectcleartraceuntraceenabledisable で使用したコマンドの履歴が記録されます。dlopen()dlclose()、履歴」を参照してください。

list sets

定義されたセットを表示します。 

list values attributes

attributes に指定された属性に関連付けられた固有値を表示します。たとえば list values keys を実行すると、プログラム内の固有キーがすべて表示されます。

source filename

prex コマンドのファイルを読み込みます。ファイル名は引用符で囲んでください。

trace $set_name

>trace selector_list

untrace $set_name

untrace selector_list

プローブポイントのトレース動作を制御します。traceuntrace を使用して、プローブポイントを実行したときにそのプローブポイントにトレース記録を生成させるかどうかを切り替えます。traceuntrace のどちらを実行しても、プローブポイントは有効になりません。

 

デフォルトでは、トレースはオンになります。 

 

untrace コマンドは、デバッグ出力だけを得たいときに利用できます。このコマンドを使用する際には、トレースをオフ、デバッグをオンにして、プローブを有効にする必要があります。

 

debugstderr に書き込みを行いますが、tracemmap された (メモリーが割り当てられた) ファイルに書き込みを行います。そのため、トレースの方がデバッグ関数よりもプログラムに与える負荷が少なくなります。

 
 
 

quit

prex を終了します。prex を使用してプログラムがロードされている場合は、そのプログラムを強制終了します。prex にプログラムが接続されている場合は、そのプログラムが再実行されます。

quit kill

prex を終了して、プログラムを強制終了します。

quit resume

prex を終了して、プログラムを再実行します。

quit suspend

プログラムを中断したまま、prex を終了します。