デバッガ

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 6.5 (Modified)


デバッガという用語は、バグという用語に由来しています。メソッド内のバグとは、除去すべき間違いのことです。エラーが発生した場合、またはメソッドの実行を監視する必要がある場合には、デバッガを使用します。デバッガでは、メソッドをステップごとにゆっくり確認してメソッドの情報を検証できるため、バグを発見するために役立ちます。このようにメソッドをステップごとに確認する処理は、トレースと呼ばれます。

次のような方法を使用して、デバッガウィンドウでメソッドを表示し、トレースできます:

シンタックスエラーウィンドウトレースボタンをクリックする。

TRACE コマンドを使用する。

・メソッド実行ウィンドウでデバッグボタンをクリックする。

・メソッド実行中にAlt+Shift+右クリック (Windows) または Control+Option+Command+クリック (Macintosh) を行い、表示されるポップアップウィンドウ内でトレースするプロセスを選択する:

ランタイムエクスプローラプロセスページにてプロセスを選択した後、トレースボタンをクリックする。

・メソッドエディタウィンドウ、またはランタイムエクスプローラのブレークおよびキャッチページでブレークポイントを作成する。

Note: データベースのパスワードシステムが有効な場合、デザインモードへのアクセス権を持つグループに所属するDesignerやユーザだけが、メソッドをトレースできます。

次に示すのはデバッガウィンドウです:

必要に応じてデバッガウィンドウを移動したり、その内部にあるウィンドウ枠のサイズを変更したりできます。新しいデバッガウィンドウの表示には、同じセッション内で表示された最後のデバッガウィンドウと同じ構成(ウィンドウのサイズと位置、分割線の配置およびカスタム・ウォッチエリアの内容)を使用します。

4Dはマルチタスク環境です。複数のユーザプロセスを実行した場合には、それぞれのプロセスを個別にトレースできます。プロセスそれぞれについて1つのデバッガウィンドウを表示できます。

実行制御ツールバーボタン


デバッガウィンドウの上部にある実行制御ツールバーには、9個のボタンがあります:

トレースなしボタン

トレースが停止され、通常のメソッド実行が再開されます。

Note: Shift+F5またはShiftを押しながらトレースなしボタンをクリックすると、実行が再開されます。この操作により、以降のカレントプロセスでの全てのTRACE呼び出しが無効になります。

アボートボタン

メソッドは中断され、メソッドの実行を開始する前の状態に戻ります。イベントに対して実行しているフォームメソッドまたはオブジェクトメソッドをトレースしている場合には、いずれの場合にも停止され、フォームに戻ります。アプリケーションモードから実行しているメソッドをトレースしていた場合には、そのモードに戻ります。

アボート&編集ボタン

アボートボタンががクリックされた時と同様、メソッドは中断されます。さらに、4Dはメソッドエディタウィンドウを開いて、アボート&編集ボタンがクリックされた時点で実行していたメソッドを表示します。

Tip: このボタンは、コードにどのような変更が必要かが明らかであり、メソッドのテストを続行するためにその変更が必要な場合にクリックしてください。変更が完了したら、メソッドを再実行できます。

編集ボタン

編集ボタンをクリックすると、アボート&編集ボタンをクリックした場合と同じ動作が実行されますが、現在の実行をアボートしません。メソッドの実行はその時点で一時停止されます。4Dは編集ボタンがクリックされた時点で実行されていたメソッドをメソッドエディタウィンドウで表示します。

重要: このメソッドを修正することはできますが、デバッガウィンドウで現在トレースされているメソッドのインスタンスに対しては、この修正内容は反映されず、実行もされません。メソッドがアボートされるか、または正常に終了した後、このメソッドが次に実行される時に修正が反映されます。つまり、メソッドへの変更を有効にするには、メソッドを再ロードしなければなりません。

Tip: このボタンは、コードに必要な変更内容がわかっている場合や、変更が実行やトレースの対象となるコードの残りの部分の妨げにならない場合に使用します。

Tip: オブジェクトメソッドは各イベント毎に再ロードされます。オブジェクトメソッドをトレースしている場合、フォームを終了する必要はありません。オブジェクトメソッドを編集し、変更内容を保存し、フォームに戻って再実行することができます。フォームメソッドのトレースや変更の際に、フォームメソッドを再ロードするには、フォームを終了し、再び表示しなければなりません。フォームを大規模にデバッグする場合のコツは、(デバッグの対象となっている)コードを、フォームメソッドからのサブルーチンとして使用しているプロジェクトメソッドに入力することです。このようにすれば、このサブルーチンがフォームメソッドから呼び出されるたびに再ロードされるため、フォームをトレースし、編集し、再テストしている間もフォームを使用することができます。

設定保存ボタン

現在のデバッガウィンドウの構成(ウィンドウのサイズと位置、分割線の配置およびカスタム・ウォッチエリアの内容)を、データベースが開かれるたびにデフォルトで使用できるように保存することができます。これらの内容は、データベースのストラクチャファイルに保存されます。

ステップ(同一メソッドのみ)ボタン

現在のメソッド行(プログラムカウンタと呼ばれる黄色い矢印で示されている行)が実行され、デバッガは次の行に移動します。ステップ(同一メソッドのみ)ボタンはサブルーチンや関数に移動することはなく、現在トレースの対象となっているメソッドのレベルにとどまります。サブルーチンや関数呼び出しもトレースしたい場合には、ステップ(呼び出しメソッドもトレース)ボタンを使用します。

ステップ(呼び出しメソッドもトレース)ボタン

別のメソッド(サブルーチンまたは関数)を呼び出す行が実行される場合にこのボタンを使用すると、呼び出されているメソッドがデバッガウィンドウに表示され、このメソッドをステップごとに実行できます。デバッガウィンドウのメソッド連鎖ペインでは、新しく呼び出されたメソッドがカレント (一番上) となります。別のメソッドを呼び出していない行が実行される場合には、このボタンはステップ(同一メソッドのみ)ボタンと同等に動作します。

ステップ(別プロセスもトレース)ボタン

新しいプロセスを作成する行(New processコマンドが記述されている行)が実行される場合にこのボタンを使用すると、新しいデバッガウィンドウが表示され、新しく作成されたプロセスのプロセスメソッドをトレースすることができます。新しいプロセスを作成しない行が実行される時には、このボタンはステップ(同一メソッドのみ)ボタンと同等に動作します。

呼び出し元へ戻るボタン

サブルーチンや関数をトレースする場合にこのボタンをクリックすると、現在トレースされているメソッド全体を実行し、呼び出し元メソッドに戻ることができます。デバッガウィンドウはメソッド連鎖の前のメソッドに戻ります。現在のメソッドがメソッド連鎖の最後のメソッドである場合には、デバッガウィンドウが閉じられます。

実行制御ツールバーについて


実行制御ツールバーの右側には、デバッガから次のような情報が表示されます:

・現在トレースしているメソッドの名前(黒で表示されます)

・デバッガウィンドウが表示される原因となった問題(赤で表示されます)

先に示したウィンドウの例では、次の情報が表示されています:

・現在トレースされているメソッドはDE_DebugDemoメソッドです。

・デバッガウィンドウが表示されているのは、C_DATEコマンドへの呼び出しが検出され、このコマンドは検出の対象コマンドの1つであるためです。

デバッガとメッセージが表示される理由は次の通りです(赤で表示されます):

TRACEコマンド: TRACEの呼び出しが実行されたため。

ブレークポイントに到達: 一時的または永続的ブレークポイントが発見されたため。

ユーザによる割り込み: Alt+Shift+右クリック(Windows)またはcontrol+option+command+クリック(Macintosh)を使用するか、あるいはデザインモードのランタイムエクスプローラのプロセスページでトレースボタンをクリックしたため。

次のコールを検出: コマンド名:検出の対象となった4Dコマンドへの呼び出しが実行位置にあるため。

新規プロセスへステップ中: ステップ(別プロセスもトレース)ボタンを使用したため、新しく作成されたプロセス用に開かれたデバッガウィンドウのためこのメッセージが表示される。

デバッガウィンドウの各ペイン


デバッグウィンドウは、前述の実行コントロールツールバーとサイズ変更可能な次の4つのペインから構成されます:

ウォッチエリア

メソッド連鎖エリア

カスタム・ウォッチエリア

ソースコードエリア

最初の3つのエリアでは、操作が簡単な階層型リストを使用して、関連するデバッグ情報を表示します。4番目のソースコードエリアは、トレースされているメソッドのソースコードを表示します。それぞれのエリアには、デバッグ作業を支援する独自の機能があります。マウスを使用して、デバッグウィンドウだけではなく、各エリアも垂直および水平方向にサイズを変更することができます。さらに、最初の3つのエリアには、表示する2つのカラムの間に点線による区切り線が含まれています。マウスを使用して、この点線を移動し、必要に応じて水平方向にカラムのサイズを変更することができます。

参照

ON ERR CALL, TRACE, ウォッチエリア, カスタムウォッチエリア, キャッチコマンド, シンタックスエラーウィンドウ, ソースコードエリア, デバッガのショートカット, なぜデバッガを使用するか?, ブレークリスト, メソッド連鎖エリア.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次