Oracle Solaris Studio 12.2: dbx コマンドによるデバッグ

lwp コマンド

lwp コマンドは、現在の LWP (軽量プロセス) の表示や変更を行います。ネイティブモードでだけ有効です。


注 –

lwp コマンドは Solaris プラットフォームでのみ利用可能です。


構文

lwp

現在の LWP を表示します。

lwp lwp_id

LWP lwp_id に切り替えます。

lwp -info

現在の LWP の名前、ホーム、およびマスクシグナルを表示します。

lwp [lwp_id] -setfp address_expression

fp レジスタに address_expression の値が入っていることを dbx に伝えます。デバッグするプログラムの状態は変更されません。assign $fp=... が利用できないコアファイルをデバッグします。-setfp オプションで設定されたフレームポインタは、実行を再開するときに元の値にリセットされます。

lwp [lwp_id] -resetfp

このコマンドより前で使用された lwp -setfp コマンドの設定を元に戻して、フレームポインタの論理値を現在のプロセスまたはコアファイルのレジスタ値から設定します。

ここで

lwp_id は軽量プロセスの識別子です。

コマンドに lwp_id とオプションの両方が使用された場合、対応するアクションは lwp_id によって指定された LWP に適用されますが、現在の LWP は変更されません。

-setfp-resetfp オプションは、LWP のフレームポインタ (fp) が破損した場合に便利です。このイベントでは、dbx は呼び出しスタックを適切に再構築できず、局所変数を評価できません。これらのオプションは assign $fp=... が利用できないコアファイルのデバッグ時に機能します。

fp への変更を、デバッグするアプリケーションに見えるようにするには、assign $fp=address_expression コマンドを使用します。