スタジオは、統合開発環境 (IDE) でよく見られる多くのデバッグツールを提供します。これらのツールは、エラーを解決し、スクリプトを実行するときにラインごとに検査するのを助けます。デバッグ情報は、ウォッチ、コールスタック、ブレークポイント、および出力ウィンドウで表示されます。
一般的なワークフロー
エクスペリエンスで問題を見つけたり、意図通りに動作することを確認したい場合は、以下のコードをデバッグできます:
ブレークポイントを挿入する コードラインのコードを調査したい。
スクリプト タブで、テストタブの プレイ または 実行 をクリックして、デバッグセッションとしても知られるプレイテストセッションを開始します。
スクリプト タブで、 停止 をクリックしてデバッグセッションを終了します。
問題を解決するか、根本原因を見つけるまで、前のステップを繰り返します。一般的なワークフローを学ぶとき、特定の条件が満たされた場合にのみブレークポイントを配置し、出力ウィンドウにメッセージを印刷し、クライアントまたはサーバーでのみ実行するように設定できます。詳しくは、ブレークポイント構成 を参照してください。
ブレークポイントを挿入
ブレークポイントは、特定の行でスクリプトの実行を一時停止または「壊す」チェックポイントです。一時停止を使用して、エクスペリエンスを調査およびデバッグし、ウォッチ 変数を監視し、呼び出しスタック を調査できます。ブレークポイントは、機能をデバッグする最も効果的な方法の 1つであるため、最も重要なデバッグツールの 1つです。実行可能なコードの任意の行にブレークポイントを挿入できます。
コードの行に標準のブレークポイントを挿入するには、行番号の右側のマージンを左クリックします。また、マージンを右クリックし、[ブレークポイントを挿入] をクリックすることもできます。ブレークポイントは赤いドットとして表示されます。無効にするには、ドットをクリックします。

コードを通過するステップ
スクリプトの行にブレークポイントを挿入すると、スクリプトはその行を実行する前に一時停止します。「デバッガー」と呼ばれる黄色い矢印は、次に実行されるコード行を示します。

スクリプトが一時停止すると、スクリプト タブのボタンで一つずつ実行する次のコードを実行します。ボタンは、呼び出しスタック ウィンドウの左上隅にも表示されます。コードを通過するときに、現在の行が実行されると、エクスペリエンスがどのように変化するかをモニタリングします。

次の表では、コードをステップする 3 つの方法を概要します。ブレークポイントに到達後、コードの実行を続行するには、 スクリプト タブで 再開 をクリックします。
ボタン | 行動 | ショートカット | 説明 |
---|---|---|---|
![]() | ステップイント | F11 | ステップイント ボタンは、デバッガーを現在の行の機能コードに移動します。現在の行に機能がない場合、デバッガーは次の行に移動します。 |
![]() | ステップオーバー | F10 | ステップオーバーボタンは、デバッガーを次のコードラインに移動し、機能に移動しない。 |
![]() | ステップアウト | Shift F11 | ステップアウトボタン ボタンは、関数呼び出し後、現在の機能からデバッガーを移動し、次のコードラインに移動します。現在の行が機能の中にない場合、デバッガーは次の行に移動します。 |
コードを検査する
ブレークポイントがプレイテスト中にエクスペリエンスを一時停止すると、ウォッチ ウィンドウ、コールスタック ウィンドウ、出力 ウィンドウ、および スクリプトエディタ を調べて、変数値と機能の実行に関する情報を見つけることができます。この情報を使用すると、エクスペリエンスの問題の根本原因を見つけることができます。
観察
観察 ウィンドウには 2つのタブがあります: 変数 と 私の観察 。 変数 タブは、スコープ内の現在の変数に関する情報を表示し、 私の時計 タブは、定義した変数または式の値を表示します。両方のタブは、行が実行される前に情報を表示します。 変数 タブには次のコラムがあります:
名前 - 変数の宣言された名前。
スコープ – 変数のスコープ:ローカル、グローバル、またはアップバリューなど、「見る」ことができ、アクセスできる場所。
値 - 変数の現在の値。
データタイプ – 変数のデータタイプ。 私の時計 タブには次のコラムがあります:
表現 – 見たい表現。
値 - 現在の式の値。
データタイプ – 式のデータタイプ。 変数 タブでは、フィルターアイコンをクリックして変数のスコープをフィルターできます。列を並べ替えるには、列の名前をクリックして並べ替えることもできます。ウォッチウィンドウは、テーブルの拡大および縮小ビューを提供します。

ウォッチウィンドウでコードを調べるには:
ウォッチ ウィンドウが開いていない場合は、 ウォッチ を表示タブの ビュー でクリックします。
プレイテストセッションがブレークポイントで一時停止すると、現在の行がそのスクリプトの変数の値を変更する方法を考えてください。
コードを通過すると、 変数 タブで変数の値がどのように変更されるかを見てください。変数タブに表示されていない式を見たい場合は、 マイウォッチ タブを開きます。表現列の空の行をクリックし、そこに式を入力します。スクリプトエディタで変数を表示したい場合は、変数の名前を右クリックし、 ウォッチを追加 をクリックします。
期待しているものと、ウォッチウィンドウで見たものの変数と式の値を比較します。変数が変更される方法と実際に変更される方法に差がある場合、変数またはそれらと相互作用する関数が問題やバグを引き起こしている可能性があります。
呼び出しスタック
呼び出しスタック ウィンドウには、デバッガーがブレークポイントに到達したときに次に実行するコードラインが表示されます。呼び出しスタックは、どのラインから機能を呼び出し、他の機能で機能を呼び出した場合の機能呼び出しの順序と、他の機能を呼び出すラインを示します。コールスタックのトップ機能は、最後に呼び出され、最初に実行されるものです。コールスタックを使用して、スクリプトの機能呼び出しの順序が機能呼び出しのメンタルモデルと一致しているかどうかをチェックできます。

異なるスクリプトに複数のブレークポイントがある場合、同時にプレイテストセッションを停止する可能性があります。コールスタックウィンドウのスクリプト名の横にある矢印をクリックして、ブレークポイントに移動できます。 再開 をクリックすると、同時に停止したすべてのブレークポイントを踏り越えます。

デバッグセッション中にコードを調査するには、コールスタックウィンドウで:
If the 呼び出しスタック ウィンドウが開いていない場合は、 呼び出しスタック を ビュー タブにクリックします
エクスペリエンスがブレークポイントで停止するとき、そのスクリプトで機能呼び出しの順序がどのように想定されるか考えてください。
呼び出しスタックは、機能呼び出しの順序を表示します。ブレークポイントが関数内にある場合、呼び出しスタックは、その関数を呼び出す関数を表示します (ある場合)。呼び出しスタックには、各機能の名前と行番号も表示されます。行をクリックして、それにジャンプする機能を見つけます。
ステップ 2 で考えた機能呼び出しの順序と、ステップ 3 の実際の順序を比較します。差異がある場合は、コードが期待される方法と実際に動作する方法の間に違いがあり、それによって潜在的な問題やバグが発生します。
出力
[出力] タブからアクセス可能な 出力 ウィンドウは、スクリプトの実行からキャプチャされたエラー、Roblox エンジンからのメッセージ、呼び出しへの呼び出しからのエラー、および呼び出しへの呼び出しからのエラーを表示します。
スクリプトエディタ
デバッガーは スクリプトエディタ と統合されています。スクリプトのブレークポイントでエクスペリエンスが一時停止すると、マウスを変数の名前の上に置き、その値を見ることができます。たとえば、機能呼び出しで引数として渡すテーブルの値を見ることができます。

ブレークポイント構成
ブレークポイントを構成して、特定の条件が満たされた場合にのみブレークし、出力 ウィンドウにメッセージを印刷し、クライアントまたはサーバー上でのみ実行することができます。これらの構成を組み合わせて、デバッグニーズに最適に合わせることもできます。
ブレークポイントを編集
プレイテストセッション中を含め、ブレークポイントの設定をいつでも編集できます。プレイテストセッション中にブレークポイントを編集すると、編集は終了しても残ります。また、プレイテストセッションを一時停止しているブレークポイントを編集できますが、変更は次のプレイテストセッションまで適用されません。
ブレークポイントの構成を編集するには:
ブレークポイントを右クリックし、 ブレークポイントを編集 をクリックします。
ブレークポイント編集 ウィンドウで、ブレークポイントを好みのように構成します。
条件、ログメッセージ、オプション
各ブレークポイントでは、 条件 、 ログメッセージ 、 実行を続行する 、および コンテキスト を設定できます。 条件 は、ブレークポイントが有効になるかどうかを決定する式です。条件はオプションです。条件が空の場合、ブレークポイントは常に有効になります。条件が存在する場合、ブレークポイントは条件が真の場合にのみ有効になります。たとえば、ブレークポイントが有効になるのは、変数 n が 42 と等しい場合だけであることを望む場合は、条件を n == 42 と設定します。条件は、特定の変数に特定の値があるか、ループ内の特定の実行のみをブレークしたい場合など、機能が実行される方法をデバッグするのに便利です。 ログメッセージ は、条件が真になると 出力 ウィンドウに印刷される式です。ログメッセージの形式は、print() 文の引数と同じです。たとえば、ログメッセージを "The value of n:", n として設定して、print("The value of n:", n) と同じメッセージを印刷します。印刷文のように実行を停止する必要はなく、ログメッセージを追加したり削除したりできます。 実行を続行 オプションは、有効になるとスクリプトのブレークポイントが停止するかどうかを決定します。実行を停止せずに変数または式の値をログしたい場合、有用です。このオプションはデフォルトで無効になっています。
ブレークポイントの コンテキスト は、ブレークポイントがクライアント、サーバー、または編集で有効になるかどうかを決定します。コンテキストがクライアントの場合、ブレークポイントはクライアント側のスクリプトでトリガーされます。コンテキストがサーバーの場合、ブレークポイントはサーバー側のスクリプトでトリガーされます。コンテキストが編集の場合、プラグインをデバッグするとブレークポイントがトリガーされます。カスタムコンテキストをクリックすると、ウィンドウは現在のコンテキストを示します。

条件付きブレークポイントとログポイント
スタジオは、ブレークポイントの命名変化を提供して、ブレークポイント挿入をより速くすることができます。名前付きのバリアントを挿入するには、行番号の右側のマージンを右クリックし、挿入したいバリアントをクリックします。

A 条件付きブレークポイント は、 条件 と 継続実行 が無効になったブレークポイントです。条件付きブレークポイントは、条件が真である場合にのみスクリプトを一時停止しますが、特定の変数に特定の値があるときに機能が実行される方法をデバッグするのに役立ちます。条件付きブレークポイントは、行が実行される前の変数の値を使用します。条件付きブレークポイントを挿入すると、カーソルは設定するための 条件 オプションに焦点が合います。
A ログポイント は、 ログメッセージ と 継続実行 が有効になったブレークポイントです。ログポイントはスクリプトを一時停止せずに 出力 ウィンドウにログメッセージを記録し、変数値のデバッグに便利です。ログポイントは、行が実行される前の変数の値を使用します。ログポイントを挿入すると、カーソルが ログメッセージ に焦点を合わせ、迅速に設定できます。
ブレークポイントを無効にする
ブレークポイントを無効にして再度有効にする方法はたくさんあります:
- ブレークポイントアイコンをクリックします。
- ブレークポイントを編集し、有効なチェックボックスを切り替えます。
- ブレークポイントアイコンを右クリックし、[ブレークポイントを無効にする] または [ブレークポイントを有効にする] をクリックします。
ブレークポイントを削除
ブレークポイントを削除するには、アイコンを中クリックします。また、アイコンを右クリックして ブレークポイントを削除する をクリックすることもできます。
ブレークポイントウィンドウ
ブレークポイントウィンドウには、エクスペリエンスのすべてのブレークポイントが表示されます。ブレークポイントウィンドウを開くには、Studio のトップにある [ビュー] タブをクリックし、[ブレークポイント] をクリックします。

ブレークポイントウィンドウには、ラベルなし、スクリプト、行、ソースライン、条件、ログメッセージ、および実行を続行するという次の列があります:ラベルのない、スクリプト、およびラインの列は常に表示されますが、ウィンドウの右上隅にある 3 つのドットをクリックして、他の列を切り替えることができます。
ラベルが付いていない列では、[x3] ラベルは同じコード行のブレークポイント数を示し、アイコンはブレークポイント構成を示します。同じ行のブレークポイントは、同じ条件、ログメッセージ、および実行を続行するが、コンテキストが異なります。ブレークポイントウィンドウでブレークポイントの構成を編集できます。たとえば、ブレークポイントの条件を編集するには、その条件列にあるテキストエリアを編集することができます。

有効化/無効化ブレークポイントを有効にするには、有効化済み列のブレークポイントアイコンをクリックします。次のボタンをクリックして、ブレークポイントの一部または全部を有効化、無効化、削除することもできます。
ボタン | 行動 |
---|---|
![]() | すべてのブレークポイントを無効にします。ブレークポイントが無効になっている場合は、すべて有効にします。 |
![]() | すべてのブレークポイントを削除。 |
ブレークポイントアイコン
ブレークポイントのアイコンは、有効になっているか、条件があるか、ログメッセージがあるかによって異なります。ブレークポイントにログメッセージがある場合、条件があるかどうかにかかわらず、ログポイントとして表示されます。
名前 | アイコン | 有効化済み | 条件 | ログメッセージ |
---|---|---|---|---|
ブレークポイント | ![]() | はい | いいえ | いいえ |
![]() | いいえ | いいえ | いいえ | |
条件付きブレークポイント | ![]() | はい | はい | いいえ |
![]() | いいえ | はい | いいえ | |
ログポイント | ![]() | はい | たぶん | はい |
![]() | いいえ | たぶん | はい |
追加のデバッグツール
デバッガーに加えて、Studio はエクスペリエンスの問題やバグを修正するための追加のデバッグツールを提供します。
命令バー
コマンドバー では、エクスペリエンスが実行中に Luau コマンドを実行できます。Studio の ビュー タブと 開発者コンソール で利用可能です。
開発者コンソール
開発者コンソール は、クライアントとサーバーの出力、メモリ使用、ネットワークパフォーマンスなど、詳細の広範囲を提供します エクスペリエンスをテストまたはプレイ中に開発者コンソールを開くには、チャットに /console を入力するか、F9 を押します。詳しくは、開発者コンソールを参照してください。
ログファイル
スクリプトが Studio またはプレイヤーアプリで印刷またはエラーが発生すると、アプリはローカルファイルシステムのログファイルにメッセージを記録します。これらのファイルは、オペレーティングシステムによって異なる場所にあります。
ウィンドウ
Windows でログファイルにアクセスするには:
- Open ファイルエクスプローラー 。
- ナビゲート to the %LOCALAPPDATA%\Roblox\logs ディレクトリ。
- ログをダブルクリックして開きます。同じ XXXXX 値のログは、同じスタジオセッションからです。
マック
Mac でログファイルにアクセスするには:
- Open ファインダー 。
- メニューバーで 行く ⟩ フォルダに行く... を選択します。
- 対話ボックスで ~/Library/Logs/Roblox を入力します。
- 結果をダブルクリックして、Roblox ログディレクトリに移動します。
- ディレクトリ内で、ログをダブルクリックして開きます。
iOS
Mac または iOS デバイスを使用して iOS ログを収集できます。
Mac で iOS ログファイルにアクセスするには:
- iOS デバイスを Mac に接続します。
- Open ファインダー 。
- ナビゲート to ユーティリティ と コンソール アプリケーション を開きます。
- コンソールアプリケーションでリアルタイムログを満たすには、側面バーから iOS デバイスを選択し、 開始 ボタンをクリックし、iOS デバイスで問題を再現します。
- コンソールアプリケーションでアーカイブされたログを満たすには、sudo log collect --device-name "[iOS Device Name]" を ターミナル で実行します。装デバイスの名前にアポストロフがないことを確認してください、またはコマンドを実行するとエラーが発生する可能性があります。
アンドロイド
Android でログファイルにアクセスするには:
- ナビゲート to 設定 > システム > 開発者オプション .
- 開発者オプション をオンに切り替え。
- コンピュータで、Android Studioをダウンロードしてインストールします。
- Android Studio で ログキャット をクリックします。
- Android デバイスをコンピュータに接続して、ログで Logcat を自動的に満たすようにします。