JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.2: dbx コマンドによるデバッグ
search filter icon
search icon

ドキュメントの情報

はじめに

1.  dbx の概要

2.  dbx の起動

3.  dbx のカスタマイズ

4.  コードの表示とコードへの移動

5.  プログラムの実行制御

6.  ブレークポイントとトレースの設定

7.  呼び出しスタックの使用

8.  データの評価と表示

9.  実行時検査

10.  修正継続機能 (fix と cont)

11.  マルチスレッドアプリケーションのデバッグ

12.  子プロセスのデバッグ

13.  OpenMP プログラムのデバッグ

14.  シグナルの処理

15.  dbx を使用してプログラムをデバッグする

16.  dbx を使用した Fortran のデバッグ

17.  dbx による Java アプリケーションのデバッグ

18.  機械命令レベルでのデバッグ

19.  dbx の Korn シェル機能

20.  共有ライブラリのデバッグ

A.  プログラム状態の変更

B.  イベント管理

C.  コマンドリファレンス

assign コマンド

ネイティブモードの構文

Java モードの構文

attach コマンド

構文

実行中の Java プロセスに接続する

bsearch コマンド

構文

call コマンド

ネイティブモードの構文

Java モードの構文

cancel コマンド

構文

catch コマンド

構文

check コマンド

構文

clear コマンド

構文

collector コマンド

構文

collector archive コマンド

構文

collector dbxsample コマンド

構文

collector disable コマンド

構文

collector enable コマンド

構文

collector heaptrace コマンド

構文

collector hwprofile コマンド

構文

collector limit コマンド

構文

collector mpitrace コマンド

構文

collector pause コマンド

構文

collector profile コマンド

構文

collector resume コマンド

構文

collector sample コマンド

構文

collector show コマンド

構文

collector status コマンド

構文

collector store コマンド

構文

collector synctrace コマンド

構文

collector tha コマンド

構文

collector version コマンド

構文

cont コマンド

構文

dalias コマンド

構文

dbx コマンド

ネイティブモードの構文

Java モードの構文

オプション

dbxenv コマンド

構文

debug コマンド

ネイティブモードの構文

Java モードの構文

オプション

delete コマンド

構文

detach コマンド

ネイティブモードの構文

Java モードの構文

dis コマンド

構文

オプション

display コマンド

ネイティブモードの構文

Java モードの構文

down コマンド

構文

dump コマンド

構文

edit コマンド

構文

examine コマンド

構文

exception コマンド

構文

exists コマンド

構文

file コマンド

構文

files コマンド

ネイティブモードの構文

Java モードの構文

fix コマンド

構文

fixed コマンド

構文

fortran_module コマンド

構文

frame コマンド

構文

func コマンド

ネイティブモードの構文

Java モードの構文

funcs コマンド

構文

gdb コマンド

構文

handler コマンド

構文

hide コマンド

構文

ignore コマンド

構文

import コマンド

構文

intercept コマンド

構文

java コマンド

構文

jclasses コマンド

構文

joff コマンド

構文

jon コマンド

構文

jpkgs コマンド

構文

kill コマンド

構文

language コマンド

構文

line コマンド

構文

list コマンド

構文

オプション

listi コマンド

loadobject コマンド

構文

loadobject -dumpelf コマンド

構文

loadobject -exclude コマンド

構文

loadobject -hide コマンド

構文

loadobject -list コマンド

構文

loadobject -load コマンド

構文

loadobject -unload コマンド

構文

loadobject -use コマンド

構文

lwp コマンド

構文

lwps コマンド

構文

mmapfile コマンド

構文

module コマンド

構文

modules コマンド

構文

native コマンド

構文

next コマンド

ネイティブモードの構文

Java モードの構文

nexti コマンド

構文

omp_loop コマンド

構文

omp_pr コマンド

構文

omp_serialize コマンド

構文

omp_team コマンド

構文

omp_tr コマンド

構文

pathmap コマンド

構文

pop コマンド

構文

print コマンド

ネイティブモードの構文

Java モードの構文

proc コマンド

構文

prog コマンド

構文

quit コマンド

構文

regs コマンド

構文

例 (SPARC プラットフォーム)

replay コマンド

構文

rerun コマンド

構文

restore コマンド

構文

rprint コマンド

構文

rtc showmap コマンド

構文

rtc skippatch コマンド

構文

run コマンド

ネイティブモードの構文

Java モードの構文

runargs コマンド

構文

save コマンド

構文

scopes コマンド

構文

search コマンド

構文

showblock コマンド

構文

showleaks コマンド

構文

showmemuse コマンド

構文

source コマンド

構文

status コマンド

構文

step コマンド

ネイティブモードの構文

Java モードの構文

stepi コマンド

構文

stop コマンド

構文

ネイティブモードの構文

Java モードの構文

stopi コマンド

構文

suppress コマンド

構文

sync コマンド

構文

syncs コマンド

構文

thread コマンド

ネイティブモードの構文

Java モードの構文

threads コマンド

ネイティブモードの構文

Java モードの構文

trace コマンド

構文

ネイティブモードの構文

Java モードの構文

tracei コマンド

構文

uncheck コマンド

構文

undisplay コマンド

ネイティブモードの構文

Java モードの構文

unhide コマンド

構文

unintercept コマンド

構文

unsuppress コマンド

構文

unwatch コマンド

構文

up コマンド

構文

use コマンド

watch コマンド

構文

whatis コマンド

ネイティブモードの構文

Java モードの構文

when コマンド

構文

ネイティブモードの構文

Java モードの構文

wheni コマンド

構文

where コマンド

ネイティブモードの構文

Java モードの構文

whereami コマンド

構文

whereis コマンド

構文

which コマンド

構文

whocatches コマンド

構文

索引

check コマンド

check コマンドは、メモリーへのアクセス、メモリーリーク、メモリー使用状況をチェックし、実行時検査 (RTC) の現在状態を出力します。ネイティブモードでだけ有効です。

このコマンドによる実行時検査機能は、debug コマンドによって初期状態にリセットされます。

構文

check -access

アクセス検査を起動します。RTC は、次のエラーを報告します。

baf

不正解放

duf

重複解放

maf

境界整列を誤った解放

mar

境界整列を誤った読み取り

maw

境界整列を誤った書き込み

oom

メモリー不足

rob

配列の範囲外のメモリーからの読み取り

rua

非割り当てメモリーからの読み取り

rui

非初期化メモリーからの読み取り

wob

配列の範囲外のメモリーへの書き込み

wro

読み取り専用メモリーへの書き込み

wua

非割り当てメモリーへの書き込み

デフォルトの場合、各アクセスエラーが検出されるとプロセスが停止されます。このデフォルト動作を変更するには、dbx 環境変数 rtc_auto_continue を使用します。on が設定されている場合、アクセスエラーはファイルに記録されます (ファイル名は dbx 環境変数 rtc_error_log_file_name によって制御します)。dbxenv コマンド」を参照してください。

デフォルトの場合、それぞれのアクセスエラーが報告されるのは、最初に発生したときだけです。この動作を変更するには、dbx 環境変数 rtc_auto_suppress を使用します (この変数のデフォルト値は on です)。dbxenv コマンド」を参照してください。

check -leaks [-frames n] [-match m]

リーク検査をオンにします。RTC は、次のエラーを報告します。

aib

メモリーリークの可能性 - 唯一のポインタがブロック中央を指す。

air

メモリーリークの可能性 - ブロックを指すポインタがレジスタ内にのみ存在する。

mel

メモリーリーク - ブロックを指すポインタがない。

リーク検査がオンの場合、プログラムが存在していれば自動リークレポートが作成されます。このとき、可能性のあるリークを含むすべてのリークが報告されます。デフォルトの場合、簡易レポートが作成されます (dbx 環境変数 rtc_mel_at_exit によって制御します)。ただし、リークレポートをいつでも要求することができます (showleaks コマンド」を参照)。

-frames n は、リーク報告時に最大 n 個のスタックフレームが表示されることを意味します。-match m は、複数のリークをまとめます。2 個以上のリークに対する割り当て時の呼び出しスタックが n 個のフレームに一致するとき、これらのリークは 1 つのリークレポートにまとめて報告されます。

n のデフォルト値は、8 または m の値です (どちらか大きい方)。n の最大値は 16 です。m のデフォルト値は、C++ の場合は 3 で、それ以外は 2 です。

check -memuse [-frames n] [-match m]

-memuse オプションは -leaks オプションと同じような動作をし、プログラム終了時、使用中のブロックのレポート (biu) も有効にします。デフォルトの場合、簡易使用中レポートが生成されます (dbx 環境変数 rtc_biu_at_exit によって制御します)。プログラ ム実行中、プログラムの中でメモリーが割り当てられた場所をいつでも調べることができます (showmemuse コマンド」 参照)。

-frames n は、メモリーの使用状況とリークを報告するときに最大 n 個のスタックフレームが表示されることを意味します。-match m は、複数のリークをまと めます。2 個以上のリークに対する割り当て時の呼び出しスタックが n 個のフレームに一致するとき、これらのリークは 1 つのリークレポートにまとめて報告されます。

n のデフォルト値は、8 または m の値です (どちらか大きい方)。n の最大値は 16 です。m のデフォルト値は、C++ の場合は 3 で、それ以外は 2 です。check -leaks も参照してください。

check -all [-frames n] [-match m]

check -access および check -memuse [-frames n] [-match m] と同じです。

dbx 環境変数 rtc_biu_at_exit の値は check -all によって変更されないので、デフォルトの場合、終了時にメモリー使用状況レポートは生成されません。rtc_biu_at_exit 環境変数については、dbx コマンド」を参照してください。

check [functions] [files] [loadobjects]

functionsfilesloadobjects における check -all、suppress all、unsuppress all と同じです。

ここで

functions は、1 個または複数の関数名です。

files は、1 個または複数のファイル名です。

loadobjects は、1 個または複数のロードオブジェクト名です。

これを使用することにより、特定の場所を対象として実行時検査を行えます。


注 - RTC ですべてのエラーを検出する際、-g を付けてプログラムをコンパイルする 必要はありません。ただし、特定のエラー (ほとんどは非初期化メモリーから読み取られるもの) の正確さを保証するには、シンボリック (-g) 情報が必要となることがあります。このため、一部のエラー (a.outrui と共有ライブラリの rui + aib + air) は、シンボリック情報を利用できないときには抑止されます。この動作は、suppressunsuppress によって変更できます。