Studio は、一般にインテグレーション開発環境 (IDE) にある多くのデバッグツールを提供します。これらのツールは、エラーを解決し、スクリプトの行列を実行中にインスペクトするために役立ちます。デバッグ情報は Watch、 Call Stack、 Breakpoints、および 2>Output
一般ワークフロー
エクスペリエンスで問題が発生した場合や、想像通りに機能しているか確認したい場合は、それに関連するコードを以下のようにデバッグできます:
In the スクリプト tab, click プレイ または 実行 in the test tab to start a playtest session, also known as a debugging session.
スクリプトがブレークポイントに到達すると、プレイテストセッションが停止します。コードを通過します。 ウォッチ 、 コールスタック 、および 出力 ウィンドウを調べて、問題を診断および理解するためにヘルプを提供します。
In the スクリプト tab, click 停止 to end the debugging session.
前のステップを繰り返すまで、問題を解決するまであなたが解決する必要がある原因を探るまで。 一般的なワークフローを学びながら、出力 ウィンドウにメッセージを印刷し、クライアントまたはサーバーで実行するだけでなく、ブレークポイントの設定 を構成して、出力 ウ
ブレークポイントを挿入中
ブレークポイントは、スクリプトの実行を特定の行で「停止」または「ブレーク」するチェックポイントです。ブレークポイントを使用して、エクスペリエンスを調べ、デバッグし、 コールスタック を調べることができます。ブレークポイントは、機能をデバッコードする最も効
コードの行に標準の休憩ポイントを挿入するには、マージンをコードの行番号の右側に移動させます。また、マージンを右クリックして「ブレークポイントを挿入」をクリックします。ブレークポイントは赤いドットとして表示されます。無効にするには、ドットをクリックします。
コードを踏みながら
スクリプトの行にブレークポイントを挿入すると、スクリプトはその行を実行する前に一時停止します。「デバッガー」という黄色の矢印は、次のコードの行を実行するコードのラインを指します。
スクリプトが停止すると、スクリプト タブのボタンで、ボタンを通過することで、1行のコードを実行します。ボタンは、コールスタック ウィンドウの左上隅にも表示されます。スクリプトを実行すると、現在の行が実行されるまでの体験の変更をモニターできます。
次の表には、コードをステップする 3つの方法がまとめられています。コードをヒットした後に続行するには、スクリプト タブの リサマー をクリックします。
ボタン | アクション | ショートカット | 説明 |
---|---|---|---|
ステップイントゥ | F11 | ステップインボタンは、現在の行に関数のコードを移動します。現在の行に関数がない場合は、デバッガーは次の行に移動します。 | |
ステップオーバー | F10 | ステップオーバーボタンは、デバッガーを次のコードの行に移動させます、not 機能に移動させません。 | |
外へ出る | Shift F11 | ステップアウト ボタンは、デバッガーを現在の関数から次のコード行に移動します。如果現在の行が関数の中ではない場合、デバッガーは次のコード行に移動します。 |
コードを調べています
プレイテスト中にブレークポイントがエクスペリエンスを一時停止すると、Watch ウィンドウ、Call Stack ウィンドウ、Output ウィンドウ、および 2>Script Editor2> を調べることができます。これらの情報を使用して、変数値および関数実行の根本原因を見つけることが
ウォッチウィンドウ
ウォッチ ウィンドウには 2つのタブがあります: 変数 と マイウォッチ 。1>変数1> タブは、スコープ内の現在の変数に関する情報を表示し、4>マイウォッチ4> タブは、定義した変数またはエクスプレッションの値を表
変数 タブには、次のコラムがあります:
- 名前 – 変数の宣言された名前。
- スコープ - 変数のスコープ: ローカル、グローバル、またはアップバリューなど、アクセス可能な場所。
- 値 – 変数の現在の値。
- データタイプ – 変数のデータタイプ。
My Watches タブには、次のコラムがあります:
- エクスプレッション – 見たいエクスプレッション。
- 値 – 式の現在の値。
- データタイプ – 式のデータタイプ。
[変数] タブで、フィルターアイコンをクリックして変数の範囲をフィルターできます。また、コラム名 をクリックして並べ替えることもできます。ウォッチウィンドウは、拡張されたおよび縮小されたビューを提供します。
ウォッチウィンドウでコードを調べるには:
ウォッチ ウィンドウが開かない場合は、 ウォッチ をビュー タブでクリックします。
プレイテストセッションがブレークポイントで停止するときは、現在の行がそのスクリプトの変数の値を変更する方法を考慮してください。
コードを通過すると、変数 タブで変数の値がどのように変更されるかを見ます。変数 タブでエクスプレッションが見たい場合は、My Watches タブを開きます。2>エクスプレッション2> コラムの空の行をクリックし
ウォッチウィンドウで見る値とエクスプレッションの値を比較してください。変数とエクスプレッションの値が期待通りに変更されるかどうか、また実際に変更されるかで差がある場合、変数または関数が変更されることで問題やバグが発生する可能性があります。
スタックウィンドウを呼び出す
コールスタック ウィンドウには、デバッガーがブレークポイントに到達すると実行するコードのラインが表示されます。コールスタックは、コードを呼び出す関数を指定し、コール関数 を呼び出す関数の順番を指定します。コールスタック
複数のスクリプトでブレークポイントが複数ある場合、プレイテストセッションを同時に一時停止する可能性があります。スクリプトの名前の隣にある矢印をクリックすると、ブレークポイントにジャンプできます。「 続行 」をクリックすると、一時停止中のすべてのブレークポイントをスキップします。
デバッグセッション中にコールスタックウィンドウでコードを調べるには:
コールスタック ウィンドウが開いていない場合は、 コールスタック をビュー タブでクリックします。
エクスペリエンスがブレークポイントで停止するときは、そのスクリプトに機能の呼び出しの順番がどのようにあるかを考慮してください。
コールスタックは、機能コールの順番を表示します。ブレークポイントが機能の中にある場合、コールスタックは、その機能を呼び出す関数を表示します。如果ブレークポイントが関数の中にある場合、コールスタックは、その関数を呼び出す関数の名前と行番号を表示します。行に行くと、その関数にジャンプします。
ステップ 2 で考えた機能コールの順番と実際の順番を比較します。如果に差がある場合は、コードがどのように期待されるかと、実際に期待されるかの間に差があります。これにより、潜在的な問題とバグが発生する可能性があります。
出力ウィンドウ
出力 ウィンドウ、ビュー タブからアクセス可能な、スクリプトの実行、Roblox エンジンからのメッセージ、ログメッセージ、print() への呼び出し、1> arn()1> への呼び出し、およびエラーからの呼び出し1> を表示します。
スクリプトエディタ
デバッガーは スクリプトエディタ と統合されています。スクリプトのブレークポイントで停止すると、マウスを変数の名前の上にマウスポイントを置くことができます。たとえば、関数コールの引数として渡すテーブルの名前を見ることができます。
ブレークポイントの構成
特定の条件が満たされた場合にのみバックプロットを設定し、出力ウィンドウにメッセージを印刷し、クライアントまたはサーバーでのみ実行することができます。これらの構成をミックスして、デバッグのニーズに最適なようにカスタマイズできます。
ブレークポイントを編集する
[休憩ポイントの設定] をいつでも変更できます。[プレイテストセッション中の休憩ポイントの設定] を編集することもできます。[プレイテストセッション中の休憩ポイントの設定] を編集すると、編集は [次のプレイテストセッション] で適用されます。また、休憩ポイントをアクティブに休止中の場合は、[次の
ブレークポイントの構成を編集するには:
ブレークポイントを右クリックし、 ブレークポイントを編集 をクリックします。
In the 編集ブレークポイント window, configure the breakpoint as you want.
コンディション、ログメッセージ、およびオプション
各ブレークポイントについて、コンディション、ログメッセージ、実行を続行、および2>コンテキスト2> を設定できます。
コンディション は、n を決定する式です。42 はオプションです。如果 1>
print() ステートメントの出力ウィンドウに印刷するのは、 Log Message です。Log Message の形式は、 print() ステートメントの引数と同じです。たとえば、1>print("print() の引数は、1> を印刷する必要がありま
実行を続行 オプションは、スクリプトを有効にするときにブレークポイントがスクリプトを停止するかどうかを決定します。実行を停止しないで、変数または式の値をログしたい場合は、このオプションをデフォルトで無効にします。
ブレークポイントの コンテキスト は、クライアント、サーバー、または編集のいずれかでブレークポイントが有効になるかどうかを決定します。クライアントの場合は、ブレークポイントはクライアント側のスクリプトでトリガーされます。サーバーの場合は、ブレークポイント
コンディショナルブレークポイントとログポイント
Studio は、ブレークポイントの名前付きのバリアションを提供して、ブレークポイントの挿入をより速くするために名前付きのバリアションを提供します。名前付きのバリアションを挿入するには、その行番号の右側にマージンを右クリックし、挿入するバリアションをクリックします。
コンディション付きブレークポイント は、 コンディション と 続行実行 を無効にしたブレークポイントです。コンディション付きブレークポイントは、1>コンディション1> オプシ
A ログポイント は、 ログメッセージ と 続行実行 を有効にしたブレークポイントです。ログポイントは、スクリプトを停止せずに 2>出力ウィンドウにログメッセージをログ2>し、使用している変数をデバッ
Logpoints は、print() 文句よりも、変数をデバッグするのによく使用されます。 Logpoints は、停止または再起動する必要なく、print() 文を通じてメッセージをログに記録できます。print() 文と比較して、ログをクリーンに保ち、デバッグを終了した後に簡単に削除できます。
ブレークポイントを無効にする
ブレークポイントを無効にして再度有効にする方法はいくつかあります:
- ブレークポイントのアイコンをクリックします。
- ブレークポイントを編集し、有効なチェックボックスを切り替えます。
- ブレークポイントアイコンを右クリックし、[ブレークポイントを無効にする] または [ブレークポイントを有効にする] をクリックします。
ブレークポイントを削除する
ブレークポイントを削除するには、アイコンを中クリックします。また、アイコンを右クリックして ブレークポイントを削除 をクリックします。
ブレークポイントの窓
バックポイント ウィンドウには、エクスペリエンス内のすべてのバックポイントが表示されます。バックポイントを開くには、Studio のトップにある [ビュー] タブをクリックし、[バックポイント] をクリックします。
バックポイントのウィンドウには、次のコラムがあります: unlabeled、Script、Line、Source Line、Condition、Log Message、および Continue Execution。バックポイントの unlabeled、Script、および Line コラムは常に表示されますが、他のコラムは、ウィンドウの右上隅にある 3つのドットをクリックして切り替えることができます。
ラベルなしの列には、(x3) レーベルは同じコード行のブレークポイントの数を指し、アイコンはブレークポイントの構成を示します。同じ行のブレークポイントは、同じコンディション、ログメッセージ、および続行実行を共有しますが、コンテキストは異なります。ブレークポイント
有効なコラムのブレークポイントアイコンをクリックすることで、ブレークポイントを有効化および無効化できます。また、次のボタンをクリックして、ブレークポイントを有効化、無効化、および削除することもできます。
ボタン | アクション |
---|---|
すべてのブレークポイントを無効にします。ブレークポイントが無効になっている場合は、すべて有効にします。 | |
すべてのブレークポイントを削除します。 |
ブレークポイントアイコン
ブレークポイントのアイコンは、有効、コンディション、ログメッセージの 3つの要件に基づいて変更されます。ブレークポイントにログメッセージがある場合、それはコンディションにかかわらずログポイントとして表示されます。
名前 | アイコン | 有効化済み | コンディション | ログメッセージ |
---|---|---|---|---|
ブレークポイント | はい | いいえ | いいえ | |
いいえ | いいえ | いいえ | ||
コンディショナルブレークポイント | はい | はい | いいえ | |
いいえ | はい | いいえ | ||
ログポイント | はい | たぶん | はい | |
いいえ | たぶん | はい |
追加のデバッグツール
デバッガー以外に、Studio はあなたがエクスペリエンスで問題とバグを修正するための追加のデバッグツールを提供します。
コマンドバー
コマンドバーを使用すると、エクスペリエンスが実行されている間に Luau コマンドを実行できます。Studio の ビュー タブから、および 開発者コンソール から利用できます。
開発者コンソール
開発者コンソールは、クライアントとサーバーの出力、メモリ履行用、ネットワークパフォーマンスなど、多くの詳細を提供します。開発者コンソールをテストまたはプレイするときに開くには、チャットに /console を入力したり、F9 を押す。詳細は、1>開
ログファイル
スクリプトが Studio または Player アプリで印刷したりエラーが発生したりすると、アプリはログファイルにメッセージを記録します。これらのファイルは、オペレーティングシステムによって異なる場所にあります。
Windows
Windows のログファイルにアクセスするには:
- Open ファイルエクスプローラー .
- ナビゲート to the %LOCALAPPDATA%\Roblox\logs ディレクトリ。
- ログをダブルクリックして開きます。同じ XXXXX 値のログは、同じ Studio セッションからです。
Mac
ログファイルにアクセスするには:
- Open ファインダー .
- In the menu bar, メニューバーで 行く を選択します。 フォルダに移動... を選択します。
- ダイアログで、~/Library/Logs/Roblox を入力します。
- 結果をダブルクリックして Roblox ログディレクトリに移動します。
- 内のディレクトリ内で、ログをダブルクリックして開きます。
iOS
iOS ログを Mac で集めるか、iOS デバイスを使用して集めることができます。
Mac の iOS ログファイルにアクセスするには:
- iOS デバイスを Mac に接続します。
- Open ファインダー .
- ナビゲート to ユーティリティ and open the コンソール アプリケーション。
- コンソールアプリでリアルタイムログを満たすには、サイドバーからiOSデバイスを選択し、 開始 ボタンをクリックし、iOS デバイスで問題を再現します。
- コンソールアプリケーションでアーカイブログを満たすには、sudo log collect --device-name "[iOS Device Name]" を ターミナル で実行します。デバイスの名前にアストロップがないことを確認してください。コマンドを実行するとエラーが発生する可能性があります。
アンドロイド
Android のログファイルにアクセスするには:
- ナビゲート to 設定 >) システム >) 開発者オプション 。
- Toggle 開発者オプション on.
- コンピューターで、Android Studioをダウンロードしてインストールします。
- In Android Studio, click ログキャット 。
- コンピュータにAndroidデバイスを接続して、Logcat にログを自動で入力するようにします。