Studioは、統合開発環境(IDE)で一般的に見られる多くのデバッグツールとワークフローを提供します。これにより、スクリプトが実行される際のエラーを検査し、解決することができます。
ブレークポイントデバッグ
ブレークポイントは、特定の行でスクリプトの実行を一時停止または「中断」するチェックポイントです。これらの一時停止を使用して、ゲームを検査およびデバッグし、ウォッチ変数を確認し、コールスタックを検査できます。ブレークポイントは、関数をデバッグするための最も効果的な方法の1つであり、最も重要なデバッグツールの1つです。
管理
スクリプトエディタでは、さまざまなタイプのブレークポイントを挿入し、いつでもブレークポイントの設定を編集できます。プレイテストセッション中でも可能です。プレイテストセッション中にブレークポイントを編集すると、セッションが終了した後も編集内容は保持されます。また、プレイテストセッションを一時停止しているブレークポイントを編集することもできますが、変更は次のプレイテストセッションまで適用されません。
挿入
ブレークポイントは複数のバリエーションを持ち、実行可能なコードの任意の行に挿入できます。
標準のブレークポイントをコードの行に挿入するには、その行番号の右側のガターをクリックします。あるいは、ガターを右クリックしてブレークポイントを挿入を選択します。ブレークポイントのアイコンは赤い円として表示されます。

無効化
ブレークポイントを削除せずに一時的に無効にするには、次のいずれかのワークフローを使用します。
- ブレークポイントのアイコンをクリックします。
- ブレークポイントのアイコンを右クリックしてブレークポイントを無効にするを選択します。
- 編集して、ブレークポイントの有効チェックボックスを切り替えます。
無効化されたブレークポイントは、有効なアイコンの空のバージョンとして表示されます。たとえば、無効な標準ブレークポイントの場合は空の円、無効なログポイントの場合は空のダイヤモンドとして表示されます。


削除
ブレークポイントを削除するには、そのアイコンをミドルクリックするか、アイコンを右クリックしてブレークポイントを削除を選択します。
編集
ブレークポイントの設定は、いつでも編集できます。プレイテストセッション中でも可能です。プレイテストセッション中にブレークポイントを編集すると、セッションが終了した後も編集内容は保持されます。また、プレイテストセッションを一時停止しているブレークポイントを編集することもできますが、変更は次のプレイテストセッションまで適用されません。
ブレークポイントを編集するには:
ブレークポイントアイコンを右クリックしてブレークポイントを編集を選択します。
ブレークポイントを編集ウィンドウで、希望するようにブレークポイントを設定します。これらの設定を組み合わせて、デバッグニーズに最適なものにすることができます。
オプション 説明 条件 ブレークポイントがアクティブになるかどうかを決定するオプションの式です。条件が空の場合、ブレークポイントは常にアクティブになります。条件が存在する場合、ブレークポイントは条件付きブレークポイントとなり、条件が真である場合にのみアクティブになります。たとえば、変数varが10に等しい場合にのみブレークポイントをアクティブにしたい場合は、条件をvar == 10に設定します。 ログメッセージ ブレークポイントがヒットしたときに出力ウィンドウに印刷される式です。ログメッセージの形式は、print()ステートメントの形式と同じです。たとえば、ログメッセージを"The value of var:", varに設定すると、print("The value of var:", var)と同じメッセージが出力されます。 実行を続ける ブレークポイントがアクティブになった場合にスクリプトを一時停止するかどうかを決定します。このオプションは、挿入されたブレークポイントがログポイントでない限り、デフォルトで無効になっています。 ヒット時にブレークポイントを削除 チェックされている場合、ブレークポイントは最初のプレイテストセッションの後に自動的に自分自身を削除し、実質的に一時的ブレークポイントになります。 トリガー時 ブレークポイントのコンテキストは、クライアント(クライアント側スクリプト)、サーバー(サーバー側スクリプト)、または編集(デバッグプラグインスクリプト)でアクティブになるかどうかを決定します。カスタムコンテキストを選択すると、ウィンドウに現在のトリガーコンテキストが表示されます。
ワークフロー
ブレークポイントデバッグの典型的なワークフローは次のとおりです。
デバッグしたいスクリプトを開き、調べたいコードの行にブレークポイントを挿入します。
Studioのメザニンから、プレイテストを開始してデバッグを開始します。

スクリプトがブレークポイントに達すると、プレイテストセッションは一時停止します。ただし、そのブレークポイントが設定されている場合は実行を続けます。ブレークポイントの上に黄色の矢印が表示され、次に実行されるコードの行を示します。

ブレークポイントに達した後にコードの実行を続けるには、メザニンのスクリプトを再開をクリックします。

また、メザニンのステッピングボタンを使用して、コードを1行ずつ実行することもできます:

アクション ショートカット 説明 ステップイン F11 ステップインボタンは、デバッガーを現在の行の関数のコードに移動させます。現在の行に関数がない場合、デバッガーは次の行に移動します。 ステップオーバー F10 ステップオーバーボタンは、デバッガーを次のコード行に移動させ、関数には移動しません。 ステップアウト ShiftF11 ステップアウトボタンは、デバッガーを現在の関数から出し、関数呼び出しの後の次のコード行に移動させます。現在の行が関数内でない場合、デバッガーは次の行に移動します。 現在のセッションのデバッグが終了したら、停止ボタンをクリックします。

監視
Studioには、デバッグ中に変数の値や関数の実行を監視するための複数のウィンドウとツールが含まれています。この情報を使用して、スクリプト内のほとんどの問題の根本原因を見つけることができます。

ブレークポイント
ブレークポイントウィンドウは、すべてのスクリプト内のすべてのブレークポイントを表示する統一ビューです。これを開くには、Studioのスクリプトタブツールバーからブレークポイントをクリックするか、ウィンドウ ⟩ デバッグメニューに移動してブレークポイントをオンにします。
ウィンドウ内では、スクリプトおよび行の列が常に表示され、他の設定列を右上隅の**⋮**メニューを通じてオン/オフに切り替えることができます。スクリプト列内で、任意のブレークポイントを右クリックすると、編集、無効化/有効化、削除、またはスクリプト内のブレークポイントの行にジャンプするためのオプションメニューが表示されます。

デバッグセッション中は、最も左の列に**(x3)**が表示され、ブレークポイントの複数のコンテキスト(クライアント、サーバー、編集)を示します。任意のブレークポイントのブランチを展開すると、特定のコンテキストのアイコンをクリックして、そのコンテキストのために無効化/有効化できます。たとえば、クライアントコンテキストでのみブレークポイントを無効にし、サーバーコンテキストでは有効に保つことができます。

コールスタック
コールスタックウィンドウは、Studioのスクリプトタブツールバーまたはウィンドウ ⟩ デバッグメニューからアクセスでき、デバッガーがブレークポイントに達したときに次に実行されるコードの行を示します。他の関数から関数を呼び出すと、その関数が呼び出された行を示し、実際の呼び出しフローが期待されるフローと一致しているかどうかを確認できます。


スクリプトがブレークポイントで一時停止している間、ワークフローで説明されているように、メザニンのステッピングボタンを使用して、関数/行にステップイン、ステップオーバー、またはステップアウトします。

ウォッチ
ウォッチウィンドウは、Studioのスクリプトタブツールバーまたはウィンドウ ⟩ デバッグメニューからアクセスでき、ブレークポイントをステップスルーする際に変数や式の値を積極的に監視できます。
変数タブは、スコープ内の現在の変数に関する情報を表示し、ウィンドウの上部バーにあるすべてのスコープボタンをクリックすることでフィルタリングできます。ブランチを展開すると、その変数またはインスタンスのメンバーとその値が表示されます。また、スクリプトエディタで変数をダブルクリックしてハイライトし、右クリックしてポップアップメニューからウォッチを追加を選択することで、任意の変数を監視することもできます。


スクリプトエディタ
デバッガーはスクリプトエディタと統合されています。スクリプト内のブレークポイントでゲームが一時停止すると、変数の名前にマウスをホバーさせるとその値が表示されます。たとえば、テーブルの構成やその中に含まれるキー/値を確認できます。

追加のデバッグツール
デバッガーに加えて、Studioはゲーム内の問題やバグを修正するための追加のデバッグツールを提供します。
コマンドバー
コマンドバーを使用すると、ゲームが実行中にLuauコマンドを実行できます。Studioのウィンドウ ⟩ スクリプトメニューから利用でき、デベロッパーコンソールでも利用可能です。
デベロッパーコンソール
デベロッパーコンソールは、クライアントおよびサーバーの出力、メモリ使用量、ネットワークパフォーマンスなど、さまざまな詳細を提供します。ゲームをテストまたはプレイ中にコンソールを開くには、チャットに/consoleと入力するか、F9を押します。
ログファイル
スクリプトがStudioまたはプレイヤーアプリで印刷またはエラーを発生させると、アプリはメッセージをローカルファイルシステムのログファイルに記録します。これらのファイルは、オペレーティングシステムによって異なる場所にあります。
Windows
Windowsでログファイルにアクセスするには:
- ファイルエクスプローラーを開きます。
- %LOCALAPPDATA%\Roblox\logsディレクトリに移動します。
- ログをダブルクリックして開きます。同じXXXXX値のログは、同じStudioセッションからのものです。
Mac
Macでログファイルにアクセスするには:
- Finderを開きます。
- メニューバーで移動 ⟩ **フォルダへ移動...**を選択します。
- ダイアログに~/Library/Logs/Robloxと入力します。
- 結果をダブルクリックしてRobloxログディレクトリに移動します。
- ディレクトリ内で、ログをダブルクリックして開きます。
iOS
MacまたはiOSデバイスを使用してiOSログを収集できます。
MacでiOSログファイルにアクセスするには:
- iOSデバイスをMacに接続します。
- Finderを開きます。
- ユーティリティに移動し、コンソールアプリケーションを開きます。
- コンソールアプリケーションにリアルタイムのログを表示するには、サイドバーからiOSデバイスを選択し、開始ボタンをクリックし、iOSデバイスで問題を再現します。
- コンソールアプリケーションにアーカイブされたログを表示するには、ターミナルでsudo log collect --device-name "[iOS Device Name]"を実行します。デバイス名にアポストロフィが含まれていないことを確認してください。そうしないと、コマンドを実行するときにエラーが発生する可能性があります。
Android
Androidでログファイルにアクセスするには:
- 設定 ⟩ システム ⟩ 開発者オプションに移動します。
- 開発者オプションをオンにします。
- コンピュータでAndroid Studioをダウンロードしてインストールします。
- Android StudioでLogcatをクリックします。
- Androidデバイスをコンピュータに接続して、Logcatにログを自動的に表示させます。