Skip to main content

 

アプリケーションの開発

 

OutSystems

Debuggerタブについて

[Debugger]タブはService Studio下部のペインにあり、デバッグ済みのスレッドすべてをトラックし、モジュール要素とランタイム値を調べることができます。デバッガがアクティブであり、かつ実行フローがブレークポイントに達すると、このタブが自動的に表示されます。

[Debugger]タブは大きく3つの領域に分かれています。

Debuggerツールバー

[Debugger]タブの右上のセクションにあり、デバッグ対象スレッドの実行をトレースするためのデバッグコマンドが用意されています。[Break on All Exceptions]ボタンを除き、ツールバーボタンはデバッグセッション中のみ使用可能です。

ツールバーで使用可能なボタンは以下のとおりです。

アイコン 名前 ショートカット 説明
Stop Debugging デバッガを停止し、サスペンドされているすべてのスレッドの実行を再開します。
Suspend Running Server Threads Platform Serverにおける現在のすべてのサーバースレッドの実行をサスペンドします。
Abort Running Server Threads Platform Serverにおける現在のサーバースレッドの実行を中止します。
Continue F9 実行を再開します。
Step Over F10 同一フローの次の要素まで、またはWebアプリケーションの場合画面レベルで次の要素まで、実行トレースをステップ実行します。
Step Into F11 Step Into
Step Out Shift+F11 フローまたは画面の外側のレベルにある次の要素まで実行トレースを続行します。つまり、現在のフローまたは画面から「外へ出る」ことになります。
Break On All Exceptions この切り替えボタンをアクティブにすると、対応済みまたは未対応の例外が発生した場合、デバッガにスレッド実行のサスペンドを強制します。

**Webアプリケーションのデバッグ中、ウィジェットにブレークポイントを定義することもできます。上記で説明したステップ実行コマンド ( Step Over、 Step Into、 Step Out)は、ウィジェット上で次のような特定の動作をします:。

  • ウィジェットにブレークポイントがない場合、またはユーザー定義の機能を使用してデザインしたウィジェットなどのように、実行時に評価された要素を使用してウィジェットをデザインしていない場合、ウィジェット上では停止しない。

  • 画面上のウィジェットに続くステップ実行コマンドはレンダーされた順となる。画面上の表示順ではない。

コンテキスト領域をデバッグする

[Debugger]タブの左側にあるこの領域には、デバッガ実行に関する情報を含む複数のタブが含まれます。

タブに表示されている要素をダブルクリックすると、キャンバス上で表示されます。ただし、デバッグ対象となるモジュール要素が作業中のモジュールに属さない場合(モジュール参照、プロデューサモジュールのアクションなど)、キャンバス上では視覚化されず、名前の後ろに括弧書きでモジュール名を付けた形式で[Threads]タブにのみ括弧内に表示されます。

Threadsタブ
現在のデバッグコンテキストを表示します。デバッグ対象となるすべてのスレッドと、デバッグコンテキストを表示します。これには、モジュール要素(該当する場合)、イベント、UIフロー、画面/ブロック、コールスタックを構成するクライアント/サーバーアクションが含まれます。最後に実行されたアクションが各スレッドエントリの一番下に表示されます。
Breakpointsタブ
モジュール内で定義されているすべてのブレークポイントを表示します。
Usersタブ
同じモジュール内のサーバースレッドをデバッグしている他のユーザーをすべて表示します。各ユーザーを展開すると、そのユーザーがデバッグ中のスレッドを確認することができます。

パブリッシュされていない変更

現在デバッグ中のモジュールにパブリッシュされていない変更がある場合、変更のあるモジュール要素は[Threads]タブで以下の記号を付与されます。

  • 削除済み要素: モジュール内に存在しなくなったものの、パブリッシュ版のモジュールには存在する要素です。削除済みの要素もデバッグ可能ですが、キャンバス上で視覚的なフィードバックを得ることはできません。

  • 変更済み要素: パブリッシュされたものと異なる要素です。デバッグ対象となるのは変更後の要素ではなく、パブリッシュされた要素となります。

他のスレッドへの切り替え

キャンバス上でデバッグ中のモジュール要素と同様、このタブではデバッグ中のスレッド(アクティブスレッド)に青い矢印が表示されます。(表示される場合)キャンバス上のモジュール要素と同様、デバッグ対象外なのでアクティブではないものの、サスペンドされる可能性のある他のすべてのスレッドはグレーの矢印でマークされます。

別のスレッドに切り替えるには、[Threads]タブでデバッグするスレッドをダブルクリックします。Service Studioは[Debugger]タブの内容をそのスレッドのデバッグ情報とあわせて更新します。

スレッドの詳細については、「スレッド」 トピックをご覧ください。

Scopeタブ領域

[Debugger]タブの右側にあるこの領域には、複数の[Scope]タブがあります。デバッグセッション中に実行がサスペンドされた際、確認のためにここにモジュール要素やランタイム値が表示されます。

[Scope]タブに表示される要素は、すべてアルファベット順で並べられます。展開して、CustomerレコードのNameなど内部要素の値を調べられる要素もあります。で表示されている値は、直近のデバッグステップ以降に変更されたものです。

要素の値が長すぎてタブに表示されない場合、または値がListデータタイプの値の場合、要素をダブルクリックすると、その値を表示したウィンドウが開きます。

Debug Setupタブ

エントリポイント、デバッグの対象(モバイルアプリでのみ)を設定し、新しいデバッグセッションを開始することができます。このタブはデバッガが実行されていない場合にのみ表示されます。

[Entry Module:]コンボボックスを使用すると、ユーザーインタラクションが始まるエントリポイントを選択できます。これはプロデューサモジュールのデバッグに。

モバイルアプリではモジュールをデバッグする環境を選択する必要があります。PCのGoogle Chromeブラウザを使用してエミュレートするか、PCに接続されたiOS/Androidデバイスでデバッグします。Google Chromeブラウザを選択した場合、Service Studioはアプリを使用したユーザーインタラクション実行を義務付ける特別なGoogle Chromeインスタンスを開きます。

Webアプリケーションの場合、[Open in new browser window]オプションにチェックを入れるとデバッガの開始時にブラウザを開くことができます。このオプションがチェックされていない場合、ブラウザにアプリケーションURLを入力するか、またはService Studioの[Open in Browser]ボタンをクリックする必要があります。

In Useタブ
現在デバッグ中のモジュール要素に関する直近の調査に関連するスコープツリーの要素をすべて表示します。
Localsタブ
デバッグ中のモジュール要素のローカルスコープにある要素をすべて表示します。
Widgetsタブ
現在デバッグ中のモジュール要素のスコープにあるウィジェットをすべて表示します。
Sessionタブ
Webアプリケーションでのみ使用可能です。モジュールのセッション変数をすべて表示します。
Siteタブ
モジュールのSiteプロパティをすべて表示します。
Watchesタブ
監視中であることが明示的にマークされている変数をすべて表示します。
  • Was this article helpful?