Sun WorkShop では、イベント管理機能、プロセス制御機能、データ検査機能など、幅広い機能を利用してデバッグを実行することができます。デバッグ機能には、次のものがあります。
バックグラウンドでデバッガを使って高速実行モードでプログラムを実行し、プログラムがコアダンプを出力しようとすると、デバッガが代わって処理を行う
実行の開始、停止、継続実行を行う
行または関数にブレークポイントを設定する。プログラム全体または関数内を行単位でトレースする。指定した値または式が変わるか、何らかの条件が満たされるとプログラムを停止またはトレースするウォッチポイントを設定する
C++ コード内に複数のブレークポイントまたはトレースタグを設定する。クラス間で同じ名前を持つ全メンバー関数か指定したクラスの全メンバーに設定する
同じプログラムでの以降のデバッグセッションで使用するブレークポイントを保存する
一度に 1 行ずつ、プログラムをステップ実行する。関数呼び出しをステップオーバーしたり、関数の中をステップ実行したりする。ステップ実行して関数を抜け出し、呼び出し側関数の呼び出しの後の行に進む
標本コレクタ、標本アナライザ、ループレポート、ロック lint ユーティリティを使用して、後で解析する実行時パフォーマンスデータを収集する
メモリーアクセスエラー、メモリーリーク、メモリーブロックの使用率の実行時検査機能を使って、アプリケーション内での実行時エラーを自動的に検出する
識別子の宣言と型、クラス、テンプレートの定義を調べる
プログラムが停止するたびに変数や式を調べる。時間の経過とともに変わる変数や式を監視する。呼び出しスタックを検査する。呼び出しスタック内を上下に移動する。プログラム内の関数を呼び出す
プログラムの実行中に、データグラファや「データ表示」ウィンドウを使って複雑な構造体や配列を含むプログラム変数を図に表示して調べたり、変数を監視する
マルチスレッド機能を使用したプログラムをデバッグする
修正継続機能により、ファイルの編集、同じオプションでの再コンパイル、新規コードのプログラムへの統合、継続実行を行う
C++ のサポート。仮想関数のサポート、C++ 例外のサポート、C++ テンプレートを使ったデバッグ、引数の解釈処理用の関数の多重定義の使用、デフォルト引数の使用などによってサポートする
内蔵 Korn シェルでプログラミングを行う (ksh-88 と dbx コマンド言語の違いについては、『dbx コマンドによるデバッグ』の「dbx の Korn シェル機能」を参照)
dbx との対話用の「dbx コマンド」ウィンドウとは別に、「プログラム入出力」ウィンドウを使った入出力用コマンドインタフェースを提供する
フォークしたプロセスを追跡する