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

印刷ビューの終了

更新: 2015 年 1 月
 
 

dbxenv 変数の設定

dbxenv コマンドを使用して、dbx セッションをカスタマイズする dbxenv 変数を設定することができます。

特定の変数の値を表示するには、次のように入力します。

(dbx) dbxenv variable

すべての変数とその値を表示するには

(dbx) dbxenv

変数の値を設定するには

(dbx) dbxenv variable value

Table 3–1 は設定できるすべての dbxenv 変数で構成されています。

表 3-1  dbx 環境変数
dbx 環境変数
dbx 環境変数の機能
ar ray_bounds_check on|off
パラメータを on に設定すると、配列の上下限を検査します。デフォルト値は on です。
c_array_op on | off
C および C++ では、配列演算が可能です。たとえば、ab が配列の場合、コマンド print a+b を使用できます。デフォルト値は off です。
CLASSPATHX
dbx にカスタムクラスローダーによってロードされる Java クラスファイルのパスを指定します。
core_lo _pathmap on|off
dbx が一致しないコアファイルの正しいライブラリを検索するためにパスマップ設定を使用するかどうかを制御します。デフォルト値は off です。
debug_file_directory
大域デバッグファイルディレクトリを設定します。デフォルト値は /usr/lib/debug です。
disassembler_version autodetect|v8|v9|x86_32|x86_64
SPARC プラットフォームの SPARC V8 または V9 の dbx の組み込み逆アセンブラのバージョンを設定します。デフォルト値は autodetect で、a.out が実行されているマシンのタイプに応じて、動的にモードを設定します。
x86 プラットフォーム: dbx の x86_32 または x86_64 用内蔵型逆アセンブラのバージョンを設定します。デフォルト値は autodetect で、a.out が実行されているマシンのタイプに応じて、動的にモードを設定します。
event_safety on | off
dbx を安全でないイベント使用に対して保護します。デフォルト値は on です。
filter_max_length num
pretty-print フィルタによって、配列に変換されるシーケンスの最大長を num に設定します。
fix_ver bose on|off
fix 中のコンパイル行出力を制御します。デフォルト値は off です。
follow_fork_inheri t on|off
子を追跡する場合、ブレークポイントを継承するかどうかを決定します。デフォルト値は off です。
follow_fork_mo de parent|child|both|ask
現在のプロセスが forkvforkfork1 を実行しフォークした場合、どのプロセスを追跡するかを決定します。parent に設定すると親を追跡します。child に設定すると子を追跡します。both に設定すると、親プロセスをアクティブ状態にして子を追跡します。ask に設定すると、フォークが検出されるたびに、追跡するプロセスを尋ねます。デフォルト値は parent です。
follow_fork_mode_inner unset|parent|child|both
フォークが検出されたあと、follow_fork_modeask に設定されていて、stop を選択した場合、この変数を設定して、cont -follow を使用する必要はありません。デフォルト値は unset です。
input_case_sensitive autodetect|
true|false
autodetect に設定されている場合、dbx はファイルの言語に基づいて大文字と小文字の区別を自動的に選択します。Fortran ファイルの場合は false、そうでない場合は true です。true の場合は、変数と関数名では大文字/小文字が区別されます。変数と関数名以外では、大文字/小文字は区別されません。デフォルト値は autodetect です。
JAVASRCPATH
dbx が Java ソースファイルを検索するディレクトリを指定します。
jdbx_mode java| jni| native
現在の dbx モードを設定します。有効な設定は javajni、または native です。
jvm_invocation
jvm_invocation 環境変数を使って、JVM ソフトウェアの起動方法をカスタマイズすることができます。 (JVM は Java virtual machine の略語で、Java プラットフォーム用の仮想マシンを意味します)。詳細については、JVM ソフトウェアの起動方法のカスタマイズを参照してください。
language_ mode autodetect|main|c| c++|fortran|fortran90
式の解析と評価に使用する言語を制御します。
  • autodetect は、式の言語を現在のファイルの言語に設定します。複数の言語が混在するプログラムをデバッグする場合に有用です (デフォルト)。

  • main は、式の言語をプログラム内の主ルーチンの言語に指定します。単一言語のデバッグをする場合に有用です。

  • cc++fortran、または fortran90 は、式の言語を選択した言語に設定します。

macro_expand on | off
on に設定した場合、選択された式のマクロ展開をグローバルに有効にします。デフォルト値は on です。
macro_source none | compiler | skim | skim_unless_compiler
dbx がマクロ情報を取得する場所を制御します。詳細については、スキミングエラーを参照してください。デフォルト値は skim_unless_compiler です。
mt_resume_one on | off | auto
off に設定した場合、デッドロックを防ぐため、next コマンドによって呼び出しに対するステップを実行中にすべてのスレッドが再開されます。on に設定した場合、next コマンドによって呼び出しに対するステップを実行中に現在のスレッドのみが再開されます。auto に設定した場合、動作は off に設定した場合と同じです。ただし、プログラムがトランザクション管理アプリケーションで、トランザクション内でステップ実行している場合は、現在のスレッドのみが再開されます。デフォルト値は auto です。
mt_sca lable on|off
有効の場合、dbx はリソースの使用において保守的となり、300 個以上の LWP を持つプロセスのデバッグが可能です。ただし、この設定により大幅に速度が低下する可能性があります。デフォルト値は off です。
mt_sync_tracking on | off
同期オブジェクトがプロセスを開始した際に、dbx が同期オブジェクトの追跡を有効にするかどうかを決定します。デフォルト値は off です。
output_auto_flus h on|off
call が行われるたびに、fflush() を自動的に呼び出します。デフォルト値は on です。
output_ba se 8|10|16|automatic
整数の定数を出力するためのデフォルト基数。デフォルト値は automatic です (ポインタは 16 進文字、その他すべては 10 進)。
output_class_prefix on | off
クラスメンバーの値または宣言を表示するとき、その前に 1 つまたは複数のクラス名を付けるかどうかを制御します。on の場合は、クラスメンバーの前にクラス名が付けられます。デフォルト値は on です。
output_derived _type on|off
on の場合、ウォッチポイントの出力および表示のデフォルトを -d にします。デフォルト値は off です。
output_dyna mic_type on|off
on の場合、ウォッチポイントの出力および表示のデフォルトを -d にします。デフォルト値は off です。
output_inheri ted_members on|off
on の場合、出力、表示、および検査のデフォルト出力を -r にします。デフォルト値は off です。
output_lis t_size num
list コマンドで出力する行のデフォルト数を指定します。デフォルト値は 10 です。
output_log_file_nam e filename
コマンドログファイルの名前。
デフォルト値は /tmp/dbx.log.unique-ID です。
output_max_object_size number
変数の出力の最大バイト数を設定します。変数のサイズがこの数値より大きい場合、–L フラグを指定する必要があります。この dbxenv 変数はコマンド printdisplay、および watch に適用されます。デフォルト値は 4096 です。
output_max_string _length number
char *s で出力される文字数を設定します。デフォルト値は 096 です。
output_no_literal on|off
有効にすると、式が文字列 (char *) の場合は、アドレスのみが出力され、文字は出力されません。デフォルト値は off です。
output_pretty_pr int on|off
ウォッチポイントの出力および表示のデフォルトを -p に設定します。デフォルト値は off です。
output_pretty_print_fallback on|off
デフォルトで、問題が発生した場合、pretty-print は標準出力に戻されます。pretty-print の問題を診断する場合は、この変数を off に設定して、フォールバックを回避します。デフォルト値は on です。
output_pretty_print_mode call | filter | filter_unless_call
使用する pretty-print メカニズムを決定します。call に設定されている場合、呼び出し形式のプリティプリンタを使用します。filter に設定されている場合、Python ベースのプリティプリンタを使用します。filter_unless_call に設定されている場合、まず呼び出し形式のプリティプリンタを使用します。
output_short_fi le_name on|off
ファイル名を表示するときに短形式で表示します。デフォルト値は on です。
over load_function on|off
C++ の場合、on に設定すると、自動で多重定義された関数の解決を行います。デフォルト値は on です。
overload_oper ator on|off
C++ の場合、on に設定すると、自動で多重定義された演算子の解決を行います。デフォルト値は on です。
pop_auto_destruct on|off
on に設定すると、フレームをポップするときに、ローカルの適切なデストラクタを自動的に呼び出します。デフォルト値は on です。
proc_exclusive_attach on|off
on に設定すると、別のツールがすでに接続されている場合、dbx をプロセスへ接続しないようにします。注意: プロセスに複数のツールが接続しており、それを制御しようとすると、予期しない結果が発生する可能性があります。デフォルト値は on です。
rtc_auto_continu e on|off
rtc_error_log_file_name にエラーを記録して続行します。デフォルト値は off です。
rtc_au to_suppress on|off
on に設定すると、特定の位置の RTC エラーが一回だけ報告されます。デフォルト値は n です。
rtc_biu_at_ex it on|off|verbose
メモリー使用検査が明示的に、または check -all によって on になっている場合に使用されます。この値が on だと、簡易メモリー使用状況 (使用中ブロック) レポートがプログラムの終了時に作成されます。値が verbose の場合は、プログラムの終了時に詳細メモリー使用状況レポートが作成されます。off の場合は出力は生成されません。デフォルト値は on です。
rtc_error_lim it number
報告される RTC アクセスエラーの数。デフォルト値は 1000 です。
rtc_error_log_file_name filename
rtc_auto_continue が設定されている場合に、RTC エラーが記録されるファイル名。デフォルト値は /tmp/dbx.errlog です。
rtc_error_st ack on|off
on に設定すると、スタックトレースは、RTC 内部メカニズムへ対応するフレームを示します。デフォルト値は off です。
rtc_inherit o n|off
on に設定すると、デバッグプログラムから実行され る子プロセスでランタイムチェックを有効にし、環境変数 LD_PRELOAD が継承されます。デフォルト値は off です。
rtc_mel_at_ex it on|off|verbose
リーク検査が on の場合に使用されます。この値が on の場合は、簡易メモリーリークレポートがプログラムの終了時に作成されます。値が verbose の場合は、詳細メモリーリークレポートがプログラムの終了時に作成されます。off の場合は出力は生成されません。デフォルト値は on です。
run_ autostart on|off
アクティブでないプログラムで on に設定されている場合、stepnextstepi、および nexti は、暗黙的にプログラムを実行し、言語依存のmain ルーチンで停止します。on の場合、cont は必要に応じて run を暗黙指定します。デフォルト値は off です。
run_io stdio|pty
ユーザープログラムの入出力が、dbxstdio か、または特定の pty にリダイレクトされるかどうかを指定します。pty は、run_pty によって指定します。デフォルト値は stdio です。
run_p ty ptyname
run_iopty に設定されているときに使用する pty の名前を設定します。Ptys はグラフィカルユーザーインタフェースのラッパーで使用されます。
run_qui ck on|off
on の場合、シンボリック情報は読み込まれません。シンボリック情報は、prog -readsysms を使用して要求に応じて読み込むことができます。それまで、dbx は、デバッグ中のプログラムがストリップされているかのように動作します。デフォルト値は off です。
run_savetty on | o ff
dbx とデバッグ対象のプログラムの間で、TTY 設定、プロセスグループ、およびキーボード設定 (-kbd がコマンド行で使用されている場合) を多重化します。エディタやシェルをデバッグする際に便利です。dbxSIGTTIN または SIGTTOU を取得しシェルに戻る場合は、on に設定します。速度を多少上げるには off に設定します。設定は、dbx がデバッグ対象プログラムに接続されているか、Oracle Solaris Studio IDE で実行しているかに関係ありません。デフォルト値は off です。
run_se tpgrp on | off
on に設定されている場合、プログラムの実行時に、フォークの直後に setpgrp(2) が呼び出されます。デフォルト値は off です。
scope _global_enums on | off
on の場合、列挙子の有効範囲はファイルスコープではなく大域スコープになります。デバッグ情報を処理する前に設定します (~/ .dbxrc)。デフォルト値は off です。
scope_look_aside on | o ff
on に設定した場合、ファイルの静的シンボルが、現在のファイルスコープにない場合でもそれを検出します。デフォルト値は on です。
session_log_f ile_name filename
dbx がすべてのコマンドとその出力を記録するファイルの名前。出力はこのファイルに追加されます。デフォルト値は "" (セッション記録なし) です。
show_static_members
on の場合、印刷、監視、表示のデフォルトは –S になります。デフォルト値は on です。
stack_find_sou rce on | off
on に設定した場合、デバッグ中のプロラムが -g オプションなしでコンパイルされた指定の関数で停止したとき、dbx はソースを持つ最初のスタックフレームを検索し、自動的にアクティブにします。
デフォルト値は on です。
stack_max_ size number
where コマンドにデフォルトサイズを設定します。デフォルト値は 100 です。
s tack_verbose on | off
where コマンドでの引数と行情報の出力を指定します。 デフォルト値は on です。
step_abflow stop|ignore
stop に設定されていると、シングルステップ実行時に dbxlongjmp()siglongjmp() で停止し、文を送出します。ignore に設定されていると、dbxlongjmp() および siglongjmp() の異常制御フロー変更を検出しません。デフォルト値は stop です。
step_event s on |off
on に設定されている場合、ブレークポイントを許可する一方で、step および next コマンドを使用してコードをステップ実行します。デフォルト値は off です。
step_granularity statement | line
ソース行ステップ実行の細分性を制御します。statement に設定されていると、次のコード:
a(); b();
を、実行するための 2 つの next コマンドが必要です。line に設定されていると、1 つの next コマンドでコードを実行します。複数行のマクロを処理する場合、行の細分性は特に有用です。デフォルト値は statement です。
suppress_start up_message number
リリースレベルを設定して、それより下のレベルでは起動メッセージが表示されないようにします。デフォルト値は 3.01 です。
symbol_in fo_compression on|off
on に設定されている場合、各 include ファイルのデバッグ情報を 1 回だけ読み取ります。デフォルト値は on です。
trace _speed number
トレース実行の速度を設定します。値は、ステップ間の休止秒数になります。デフォルト値は 0.50 です。
track_process_cwd on|off
on に設定されており、GUI が実行中のプロセスに接続されている場合、現在の作業ディレクトリが実行中のプロセスの作業ディレクトリに変更されます。デフォルト値は off です。
vdl_mode classic | lisp | xml
データ構造を dbx のグラフィカルユーザーインターフェース (GUI) に伝えるために、値記述言語 (VDL) を使用します。classic モードは、Sun WorkShop IDE で使用されました。lisp モードは、Sun Studio および Oracle Solaris Studio リリースの IDE で使用されます。xml モードは試験的なもので、サポートされていません。デフォルト: 値は GUI によって設定されます。