デバッグ

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

Studio は、統合開発環境 (IDE) で一般的に見られる多くのデバッグツールとワークフローを提供します。これにより、スクリプトの実行中にエラーを検査し解決するのに役立ちます。

ブレークポイントデバッグ

ブレークポイントは、特定の行でスクリプトの実行を一時停止または「中断」するチェックポイントです。これらの一時停止を利用して、あなたの体験を検査・デバッグし、ウォatch 変数を確認し、コールスタックを調査できます。ブレークポイントは、関数をデバッグするための最も効果的な方法の1つであり、最も重要なデバッグツールの1つです。

管理

スクリプトエディタ では、複数のタイプのブレークポイントを挿入し、いつでもブレークポイントの設定を編集できます。プレイテストセッション中も含めて、ブレークポイントを編集しても、セッションが終了した後でもその編集は保持されます。また、プレイテストセッションを一時停止しているブレークポイントも編集できますが、変更は次のプレイテストセッションまで適用されません。

挿入

ブレークポイントには複数のバリエーションがあり、実行可能コードの任意の行に挿入できます。以下の方法で行います:

標準のブレークポイントをコードの行に挿入するには、その行番号の右側のガターをクリックします。または、ガターを右クリックして ブレークポイントを挿入 を選択します。ブレークポイントのアイコンは赤い円として表示されます。

スクリプトガターに表示される標準ブレークポイント

無効化

ブレークポイントを削除することなく一時的に無効化するには、以下のいずれかの方法を使用します:

  • ブレークポイントのアイコンをクリックします。
  • ブレークポイントのアイコンを右クリックして ブレークポイントを無効にする を選択します。
  • 編集してブレークポイントの 有効 チェックボックスを切り替えます。

無効化されたブレークポイントは、その有効なアイコンの中身が抜けたバージョンとして表示されます。例えば、無効化された標準ブレークポイントは抜けた円として、無効化されたログポイントは抜けたダイヤモンドとして表示されます。

スクリプトガターに表示される無効化された標準ブレークポイント
無効化された標準ブレークポイント
スクリプトガターに表示される無効化されたログポイント
無効化されたログポイント

削除

ブレークポイントを削除するには、そのアイコンをミドルクリックするか、アイコンを右クリックして ブレークポイントを削除 を選択します。

編集

いつでもブレークポイントの設定を編集できます。プレイテストセッション中も含めて、ブレークポイントを編集しても、セッションが終了した後でもその編集は保持されます。また、プレイテストセッションを一時停止しているブレークポイントも編集できますが、変更は次のプレイテストセッションまで適用されません。

ブレークポイントを編集するには:

  1. ブレークポイントアイコンを右クリックして ブレークポイントを編集 を選択します。

  2. ブレークポイントの編集 ウィンドウで、ブレークポイントを希望のように設定します。これらの設定を組み合わせて、デバッグニーズに最適な設定を作成できます。

    オプション説明
    条件ブレークポイントがアクティブになるかどうかを決定するオプションの式です。条件が空の場合、ブレークポイントは常にアクティブになります。条件が存在する場合、ブレークポイントは条件付きブレークポイントになり、条件が真であるときにのみアクティブになります。例えば、変数 var10 に等しいときにのみブレークポイントをアクティブにしたい場合、条件を var == 10 に設定します。
    ログ メッセージブレークポイントがヒットしたときに出力ウィンドウに出力される式です。ログメッセージのフォーマットは print() 文のものと同じです。例えば、ログメッセージを "The value of var:", var に設定すると、print("The value of var:", var) と同じメッセージを出力します。
    実行を続けるブレークポイントがアクティブになった場合にスクリプトを一時停止するかどうかを決定します。このオプションは、挿入されたブレークポイントがログポイントでない限り、デフォルトでは無効になっています。
    ヒット時にブレークポイントを削除チェックが入っている場合、ブレークポイントは最初のプレイテストセッションの後に自動的に削除され、結果的に一時的ブレークポイントになります。
    トリガー条件ブレークポイントの コンテキスト は、クライアント (クライアント側スクリプト)、サーバー (サーバー側スクリプト)、または 編集 (デバッグプラグインスクリプト) にアクティブになるべきかを決定します。カスタムコンテキスト を選択すると、ウィンドウに現在のトリガーコンテキストが表示されます。

ワークフロー

ブレークポイントデバッグの典型的なワークフローは次のとおりです:

  1. デバッグしたいスクリプトを開き、挿入ブレークポイントを行いたいコードの行に挿入します。

  2. Studio のメザニンから、プレイテストを開始してデバッグを開始します。

    Studio のメザニンのテストモードドロップダウンでのテストオプション。
  3. スクリプトがブレークポイントに達すると、プレイテストセッションは 一時停止 します(そのブレークポイントが設定されていない限り)。ブレークポイントの上にある黄色い矢印が、次に実行されるコードの行を示します。

    黄色の矢印で表示されるブレークポイント
  4. スクリプトが一時停止している間に、ブレークポイントウィンドウ、Watchウィンドウ、コールスタックウィンドウ、出力ウィンドウ、およびスクリプトエディタを調べて、変数の値や関数の実行に関する情報を得ます。

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

    Studio のメザニンで示されるスクリプトを再開するボタン

    また、メザニンのステッピングボタンを使用して、行を一度に一行ずつ実行することもできます。

    Studio のメザニンで示されるブレークポイントステッピングボタン
    アクションショートカット説明
    ステップインF11ステップイン ボタンは、デバッガーを現在の行の関数のコードに移動させます。現在の行に関数がない場合には、デバッガーは次の行に移動します。
    ステップオーバーF10ステップオーバー ボタンは、デバッガーを次のコード行に移動し、関数には入らない
    ステップアウトShiftF11ステップアウト ボタンは、デバッガーを現在の関数の外に移動し、その関数呼び出しの後の次のコード行へ移動させます。現在の行が関数内にない場合、デバッガーは次の行に移動します。
  6. 現在のデバッグセッションが終了したら、停止ボタンをクリックします。

    Studio のメザニンで示される停止ボタン。

モニタリング

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

Studio のツールバーで示されるブレークポイントボタン

ブレークポイント

ブレークポイント ウィンドウは、すべてのスクリプト内のすべてのブレークポイントを表示する統一ビューです。これを開くには、Studio の スクリプト タブツールバーから ブレークポイント をクリックするか、ウィンドウ  ⟩ デバッグ メニューに移動して ブレークポイント をオンにします。

ウィンドウでは、スクリプト の列が常に表示され、他の設定列を左上隅の メニューを通じてオン/オフすることができます。スクリプト 列内で、任意のブレークポイントを右クリックすると、編集無効/有効削除、スクリプト内でブレークポイントの行にジャンプするためのオプションメニューが表示されます。

Studio におけるブレークポイントウィンドウ

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

コンテキストを表示するために展開されたブレークポイント

コールスタック

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

スクリプト内のコールスタックフロー コールスタックウィンドウ内のコールスタックフロー

スクリプトがブレークポイントで一時停止している間、ワークフローに記載されているように、メザニンのステッピングボタンを使用して、関数/行の中に入ったり、飛び越えたり、出たりすることができます。

Studio のメザニンで示されるブレークポイントステッピングボタン

ウォッチ

ウォッチウィンドウは、Studio の スクリプト タブツールバーや ウィンドウ  ⟩ デバッグ メニューからアクセスでき、ブレークポイントを通過する際に変数や式の値を積極的に監視できます。

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

スクリプト内で監視する変数ウォッチウィンドウ内の変数情報

スクリプトエディタ

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

スクリプトエディタ内の変数にマウスオーバーして値を表示

追加のデバッグツール

デバッガーに加えて、Studio には体験内の問題やバグを修正するための追加のデバッグツールが提供されています。

コマンドバー

コマンドバーは、体験が実行中に Luau コマンドを実行できるようにします。Studio の ウィンドウ  ⟩ スクリプト メニューおよびデベロッパーコンソールで利用できます。

デベロッパーコンソール

デベロッパーコンソールは、クライアントおよびサーバーの出力、メモリ使用量、ネットワークパフォーマンスなどを含む幅広い詳細情報を提供します。体験をテストまたはプレイ中にコンソールを開くには、チャットに /console と入力するか、F9 を押します。

ログファイル

スクリプトが Studio またはプレイヤーアプリ内で印刷またはエラーを発生させると、アプリはメッセージをローカルファイルシステムのログファイルに記録します。これらのファイルは、オペレーティングシステムに応じて異なる場所にあります。

Windows

Windows でログファイルにアクセスするには:

  1. ファイルエクスプローラを開きます。
  2. %LOCALAPPDATA%\Roblox\logs ディレクトリに移動します。
  3. ログをダブルクリックして開きます。同じ XXXXX 値のログは同じ Studio セッションのものです。

Mac

Mac でログファイルにアクセスするには:

  1. Finderを開きます。
  2. メニューバーから 移動フォルダへ移動... を選択します。
  3. ダイアログ内に ~/Library/Logs/Roblox と入力します。
  4. 結果をダブルクリックして、Roblox ログディレクトリに移動します。
  5. ディレクトリ内にあるログをダブルクリックして開きます。

iOS

Mac または iOS デバイスを使用して iOS ログを収集できます。

Mac上でiOSログファイルにアクセスするには:

  1. iOSデバイスをMacに接続します。
  2. Finderを開きます。
  3. ユーティリティに移動し、コンソールアプリケーションを開きます。
  4. コンソールアプリケーションでリアルタイムのログを表示するには、サイドバーからiOSデバイスを選択し、スタートボタンをクリックしてiOSデバイスで問題を再現します。
  5. コンソールアプリケーションでアーカイブされたログを表示するには、ターミナルsudo log collect --device-name "[iOS Device Name]" を実行します。デバイス名にアポストロフィが含まれていないことを確認してください。このコマンドを実行するときにエラーが発生する可能性があります。

Android

Android 上でログファイルにアクセスするには:

  1. 設定システム開発者オプションに移動します。
  2. 開発者オプションをオンにします。
  3. コンピュータでAndroid Studioをダウンロードしてインストールします。
  4. Android Studio で Logcat をクリックします。
  5. Android デバイスをコンピュータに接続して Logcat に自動的にログを表示します。
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。