Sun WorkShop では、直観的で使いやすいインタフェースが用意されているため、デバッグ作業が簡単になっています。デバッグを開始すると、「デバッグ」ウィンドウとテキストエディタウィンドウ (「エディタウィンドウ」を参照) が表示されます。カスタムボタンを作成すると、カスタムボタンも表示されます。
「デバッグ」ウィンドウ (図 5-1) とそこからアクセス可能なウィンドウで、ほとんどのデバッグ操作を実行することができます。
「デバッグ」メニュー |
プログラム、プロセス、またはコアファイルのデバッグ、オプションのカスタマイズ、セッションの管理を行います。 |
「実行」メニュー |
コード行を実行またはシングルステップで実行します。 |
「データ」メニュー |
「デバッグ」ウィンドウで選択された項目を評価・変更します。 |
「スレッド」メニュー |
スレッド/セッション区画でスレッドの表示・非表示を切り替えます。 |
「スタック」メニュー |
スタックを上下に移動したりポップアップさせたりします。 |
「検査」メニュー |
実行時検査機能を有効にして使用します。 |
「ウィンドウ」メニュー |
「ブレークポイント」ウィンドウ、「データ表示」ウィンドウ、他の「デバッグ」ウィンドウを開きます。 |
「ヘルプ」ウィンドウ |
オンラインヘルプを表示します。 |
「開始」ボタン |
始めからプログラムを実行します。 |
「上へ」ボタン |
呼び出しスタックを 1 つ上の関数に移動します。 |
「下へ」ボタン |
呼び出しスタックを 1 つ下の関数に移動します。 |
「継続」ボタン |
現在の位置からプログラムを実行します。 |
「割り込み」ボタン |
プログラムに割り込みます。dbx コマンドの Ctrl + C と同じ機能です。 |
「ステップイン(step)」ボタン |
関数をステップ実行します。 |
「ステップオーバー (next)」ボタン |
現在の関数を 1 行ステップオーバーします。 |
「ステップアウト (step out)」ボタン |
現在の関数の終わりまで実行します。 |
「修正 (fix)」ボタン |
変更されたファイルをすべて再コンパイルし、デバッグを続行します。 |
デバッグステータス表示領域 |
プログラムの状態に関する情報を表示します。 |
「データ履歴」区画 |
式の評価、型の照会、値の変更履歴を表示します。 |
スレッド/セッション区画 |
「スレッド」ラジオボタンが選択されている場合、マルチスレッドプログラムのスレッドに関する情報を一覧表示します。 |
「スタック」区画 |
呼び出しスタックの現在の状態を表示します。別のスタックフレームに移動することができます。 |
「dbx コマンド」ウィンドウ |
dbx コマンドの入力と出力の結果を表示できます (「デバッグオプション」ダイアログボックスの「ウィンドウレイアウト」カテゴリで「dbx コマンドウィンドウを別ウィンドウとして表示」が「いいえ」に設定されている場合のみ)。 |
メッセージ表示領域 |
ウィンドウでの操作に関するメッセージを表示します。 |
Sun WorkShop の統合テキストエディタ (vi、GNU Emacs、XEmacs) では、デバッグ機能を活用しながらプログラムのソースコードを編集することができます。
ソースコードが表示されているテキストエディタウィンドウから、基本的なデバッグ操作を実行することができます。図 5-2に、ソースコードを表示しているデバッグ処理中の XEmacs エディタウィンドウを示します。エディタウィンドウに表示したソースコードは、変更可能です。デバッグセッションを開始すると、エディタウィンドウにプログラムのメインルーチンが自動的に表示されます。WORKSHOP リソースファイルを編集すると、エディタウィンドウに表示されるソースコードの行 (現在の関数やブレークポイントなど) の強調表示に使用する色を変更できます。「エディタウィンドウの強調色」を参照してください。
エディタウィンドウのツールバーでは、通常のデバッグ操作 (特にソースの構成要素を引数として使用するもの) が可能です。また、Sun WorkShop の別の部分からのボタンも用意されています。
Sun WorkShop セッションのエディタの選択については、「テキストエディタの選択と使用方法」を参照してください。
「カスタムボタン」ウィンドウには、「ボタン編集」ウィンドウを使用して作成したカスタムボタンや dbx コマンドボタンが表示されます。カスタムボタンを作成すると、Sun WorkShop の起動時に、自動的に「カスタムボタン」ウィンドウが開きます。
旧バージョンのデバッガを使用している場合、.dbxrc ファイルにカスタムボタンを作成するコマンドが含まれていると、これらのボタンが自動的に「カスタムボタン」ウィンドウに表示されます。
「カスタムボタン」ウィンドウは自由にサイズを変更でき、好きな位置に配置することができますが、単独に閉じる必要があります。
「ボタン編集」ウィンドウ (図 5-3 を参照) を使用すると、「カスタムボタン」ウィンドウにボタンを追加したり、「カスタムボタン」ウィンドウのボタンを編集または削除することができます。「カスタムボタン」ウィンドウに追加したボタンは、.dbxrc ファイルではなく、Sun WorkShop オプションファイルに格納されます。「ボタン編集」ウィンドウでは、.dbxrc ファイルにボタンを追加したり、.dbxrc ファイルのボタンを削除することはできません。
「ボタン編集」ウィンドウを開くには、「デバッグ」ウィンドウで「ウィンドウ」⇒「ボタン編集」を選択します。
ボタン一覧から「カスタムボタン」ウィンドウにボタンを追加することができます。ボタン一覧にないボタンを追加したい場合は、そのボタンをインポートするか (「「ボタン編集」ウィンドウへの組み込みボタンの追加」を参照)、「ボタン編集」ウィンドウの「作成/編集ボタン」パネルを使用してボタンを作成します (図 5-3「「ボタン編集」ウィンドウへのボタンの追加」を参照)。
「ボタン編集」ウィンドウにボタンをインポートするには、次の手順に従ってください。
「組み込みボタン」をクリックして、ボタンパレットを表示します。
ボタンパレットの組み込みボタン一覧に、次の項目が表示されます。
「デバッグ」ウィンドウのツールバーにあるすべてのボタン
メニューからしか使用できない機能にアクセスするためのボタン (「ブレークポイント」ウィンドウを開くための「ブレークポイント」ボタンなど)
ツールバーまたはメニュー上で使用できない機能を提供するためのいくつかのボタン (局所変数を出力するための「ダンプ」ボタンなど)
「ボタン編集」ウィンドウにインポートしたいボタンを選択して、「了解」をクリックします。
「ボタン編集」ウィンドウのボタン一覧に、選択したボタンが追加されます。
「ボタン編集」ウィンドウにボタンを追加するには、次の手順に従ってください。
ボタンの上にテキストを表示するか、ボタンをアイコンで表すかを決定します。
テキストを表示する場合は、「テキスト」ラジオボタンをクリックして、テキストフィールドに表示したいテキストを入力します。
アイコンを表示する場合は、「アイコン」ラジオボタンをクリックして、アイコンが格納されているファイル名を入力します。
「. . .」ボタンをクリックして、アイコンファイルを選択するためのダイアログボックスを開きます。アイコンファイルとして選択できるのは、.xpm 形式のファイルのみです。Sun WorkShop のツールバーのアイコンは 20 × 20 ピクセルで設定されます。また、Sun WorkShop パレットの色以外は使用できません。
.xpm ファイルの作成には、CDE アプリケーションの dticon を使用できます。このほかの多くのグラフィックプログラムでも、ファイルを .xpm 形式で保存することができます。
「dbx コマンド」テキストフィールドに、ボタンがクリックされたときに実行される dbx コマンドを入力します。
使用可能なコマンドを確認したい場合は、「dbx コマンド」ウィンドウに commands と入力します。
引数を伴う dbx コマンドを実行するボタンを追加したい場合は、「ボタンを押したときに実行されるコマンドの対象:」領域のラジオボタンを選択して、コマンドに追加するテキストを指定する必要があります。
「なし」ラジオボタン (デフォルト) - テキストは追加されない
「選択されているテキスト」ラジオボタン - 現在選択されている Sun WorkShop テキストが追加される
「ファイル:選択されている行の番号」ラジオボタン - ファイル名と行番号が追加される
引数をコマンドに追加するのではなく、コマンドに引数を埋め込む場合は、コマンド文字列に %s と入力して、引数の位置を指定します。
たとえば、「dbx コマンド」テキストフィールドに次のように入力した場合、
stop at %s -temp
「ファイル:選択されている行の番号」ラジオボタンが選択されているとき、main.cc ファイルの 25 行目が選択されている状態でこのボタンをクリックすると、次のコマンドが実行されます。
stop at "main.cc":25 -temp
このコマンド文字列には、%s は 1 つしか取り込めません。また、エスケープ文字列を取り込むこともできません。たとえば、stop %%s -temp と入力すると、stop %"main.cc":25 となります。
「追加」をクリックすると、ボタン一覧にボタンが追加されます。
「ボタン編集」ウィンドウのボタン一覧にあるボタンを「カスタムボタン」ウィンドウに追加することができます。
「カスタムボタン」ウィンドウに新しいボタンを追加するには、「適用」をクリックします。
dbx button コマンドでも、「カスタムボタン」ウィンドウにボタンを追加することができます。
既存のボタンを編集するには、次の手順に従ってください。
ボタン一覧から編集するボタンを選択します。
「作成/編集ボタン」パネルのテキストフィールドとラジオボタンを使用して、ボタンの属性を編集します。
「「ボタン編集」ウィンドウへのボタンの追加」を参照してください。
「変更」をクリックして、ボタンに新しい属性を適用します。
「適用」をクリックして、「カスタムボタン」ウィンドウのボタンを編集したボタンに置き換えます。
「ボタン編集」ウィンドウのボタン一覧で、「カスタムボタン」ウィンドウ内のボタンの位置を上下に変更することができます。
ボタンを再配置するには、次の手順に従ってください。
ボタン一覧から、移動するボタンを選択します。
「上に移動」または「下に移動」をクリックして、ボタンの位置を「カスタムボタン」ウィンドウに表示される位置に調整します。
「適用」をクリックすると、「カスタムボタン」ウィンドウ内の新しい位置にボタンが表示されます。
「ボタン編集」ウィンドウのボタン一覧からボタンを削除すると、「カスタムボタン」ウィンドウからボタンを削除することができます。
ボタンを削除するには、次の手順に従ってください。