アプリケーションをデバッグする
モジュールの特定のポイント(ブレークポイント)で実行をサスペンドし、Service Studioでステップバイステップで実行していくと、アプリケーションロジックをデバッグしてロジックデザインの問題を検出することができます。
[Debugger]タブには、実行サスペンド中の変数やランタイム値などの関連データ、また現在のデバッグコンテキスト(該当する場合、現在のスレッド、イベント名、UIフロー、画面、アクション)が表示されます。
デバッガにコマンドを出すには、Debuggerツールバーおよび[Debugger]メニューの双方で利用可能なデバッガコマンドを使用します。
デバッグプロセスの手順の概要は以下のとおりです。
-
1-Click Publishiを行い、デバッグ前にモジュールの最新の変更を保存します。
-
デバッグするモジュールにブレークポイントを1つ以上設定します。
-
モバイルアプリをデバッグする前に、[Debugger]タブでデバッグ対象を選択する必要があります(Android、iOS、またはデバイスをエミュレートするGoogle Chrome)。その他の対象についての詳細は、「モバイルデバッグシナリオ」セクションをご覧ください。
-
[Debugger]タブの[Start Debugging]ボタンをクリックするか、[Debugger]メニューの[Debug in the Public Area]を選択すると、デバッグを開始することができます。Google Chromeを使用してモバイルアプリをデバッグする場合、Service Studioはデバッグ時の使用が必須となる特別なChromeブラウザインスタンスを開きます。
- 注記:*Webアプリケーション上でのデバッグセッション開始時にブラウザも開くには、[Debug Setup]タブの[Open in new browser window]オプションにチェックを付けてください。
-
ブレークポイントに達した場合、実行がサスペンドされている時点までにデバッグ対象モジュールで発生したタスクを1つ以上実行します。
-
[Service Studio]ウィンドウに切り替えると、ブレークポイントのある要素を含むフローまたは画面がキャンバス上に表示されます。ブレークポイントのある要素は選択された状態となり、
デバッグアイコンでマークされます。
-
実行コンテキストは、モジュール要素の現在の実行スタックを示す
現在のスレッドアイコンでマークされた状態で、[Debugger]タブの[Threads]タブに表示されます。その他の[Debugger]タブには、モジュール要素やランタイム値に関するデバッグ情報が表示されます。
-
実行ポイントのランタイム値を分析した後、以下の方法のうち1つを選択して実行を継続することができます。
- アプリケーションロジックの実行を進めるため利用可能なコマンドを1つを選択します:
Continue,
Step Over,
Step Into or
Step Out。選択したコマンドの動作に従い、実行ポイントが進んでいきます。
キャンバス(またはモジュールツリー)の要素を右クリックし、ポップアップメニューにある[Continue To Here]オプションを選択します。キャンバス上でその要素に達するまで実行が継続されます。
- アプリケーションロジックの実行を進めるため利用可能なコマンドを1つを選択します:
シナリオによっては、プロデューサモジュールと呼ばれる他のモジュールが公開している機能のデバッグを行う必要があります。
従来のWebアプリの開発中、Personal Areaのモジュールをデバッグすることもできます。これにより、同一モジュールで他の開発者が行った変更とは分けて、自分が行った変更をテストすることが可能です。
モバイルのデバッグシナリオ{ #mobile-debugging-scenarios }
OutSystemsでモバイルアプリの問題を検出・把握・修正し、デバッグおよびトラブルシューティングする方法は複数あります。以下の方法のうち1つを使用してモバイルアプリをデバッグすることができます。
- PCのGoogle Chromeブラウザを使用してモバイルアプリをエミュレートする
- ネイティブプラグインを実行する必要がない場合、ネイティブラグインが利用不可能なPCのChromeブラウザを使用してモバイルアプリをデバッグします。このオプションは、アプリのロジックをテストするにあたり非常に便利です。ただし、モバイルアプリのパフォーマンスまたはエクスペリエンスを確認するには、実際のデバイス上でテストすることをお勧めします。 モバイルアプリにあるすべてのネイティブプラグインが、プラグインが利用不可能な際にモックデータを返すよう定義されたアクションラッパーを有する場合にも、このシナリオを検討してください。詳細については、ネイティブプラグイン用のラッパーアクションの作成に関する「ベストプラクティス」トピックをご覧ください。
- OutSystems Nowを使用する(Androidのみ)
- OutSystems Nowを使用して、デバイスにインストールせずにモバイルアプリをデバッグします。デバイスをPCに接続し、Androidをデバッガ対象に選択してデバッガを開始します。この方法は、実際のデバイスにおけるアプリのエクスペリエンスのテストに最適です。ただし、OutSystems Nowで利用可能なのはサポート対象のプラグインのみです。ご注意ください。
- デバイスにモバイルアプリをインストールする
-
ユーザーが実行するのと同じように、デバイス上で直接モバイルアプリをテストします。アプリのパフォーマンスとエクスペリエンスをテストするには最適な場所です。iOSおよびAndroidデバイスのいずれでも実行できます。
Debug
(Android)またはDevelopment
(iOS)ビルドタイプを使用してService Studioでアプリのネイティブアプリパッケージを生成し、デバイスにインストールします。使用するモバイルデバイスプラットフォームにより、以下の手順に従います。iOSデバイスでモバイルアプリをテストするには、以下の手順を実行します。
- PCに、iTunesをインストールします。
- デバイスで[Web Inspector]オプションをオンにします(詳細は「デバッガの接続問題をトラブルシューティングする」を参照)。
- モバイルデバイスをUSBケーブルでPCに接続します。
- デバイスで、PCによるデバイス上でのデバッグを許可します。
Androidデバイスでモバイルアプリをテストするには、以下の手順を実行します。
- デバイスで、USBデバッグをオンにします。
- モバイルデバイスをUSBケーブルでPCに接続します。
- デバイスで、PCによるデバイス上でのデバッグを許可します。
詳細については、「デバッガの接続問題をトラブルシューティングする」をご覧ください。
アプリケーションのクラッシュやプラグインのトラブルシューティングをする場合、またはアプリケーションのネイティブコードを確認する場合、モバイルプラットフォームのネイティブツール(Androidの場合はAndroid Studio、iOSの場合はXcode)を使用するとアプリをデバッグできます。ネイティブツールを使用してデバッグを行う前に、Debug
(Android)またはDevelopment
(iOS)ビルドタイプのモバイルパッケージを生成する必要があります。
デバッグツール、トラブルシューティング ツールとあわせて、「モバイアルアプリ開発の一般的な問題を解決する」および「ベストプラクティス」に掲載されている推奨事項をご覧ください。このパターンと推奨事項に従うことで、トラブルシューティングにかかる時間を確実に短縮することができます。
このセクションの記事
- ブレークポイント
- 問題のトラブルシューティングおよびデバッグ中に、アプリケーションの実行をサスペンドするために使用するのがブレークポイントです。
- ウォッチ
- モジュールのスレッドをデバッグ中にモジュール要素を調べるためにウォッチを使用します。
- スレッド
- OutSystemsのスレッドの詳細について説明しています。
- Public AreaとPersonal Area
- モジュールを実行・デバッグできる2つの領域の詳細について説明しています。
- プロデューサモジュールをデバッグする
- 他のモジュールで使用中のプロデューサモジュールが公開している機能のデバッグ方法について説明しています。
- Debuggerタブについて
- Service StudioのDebuggerタブのUIについて
- デバッガの接続問題をトラブルシューティングする
- デバッグ目的でモバイルデバイスをPCに接続する際に発生する可能性のある問題のトラブルシューティングをします。