Lua デバッガーの機能強化!

本日、Luaデバッガーの大幅な刷新を発表できることを嬉しく思います!この機能は、コードの実行状況を把握し、print文などの一般的な手法よりも効果的にバグを特定できるよう設計されています。最近Luaデバッガーをご利用になっていない方は、コードのデバッグをより効果的に行うために、ぜひその活用方法をご検討ください。最新の機能強化と修正点について説明する前に、Luaデバッガーの主な機能を簡単に振り返ってみましょう。
ブレークポイント
コードにブレークポイントを設定することで、ゲームの実行を任意の時点で一時停止し、ロジックを調査することができます。ブレークポイントを使用するには、ゲームの動作がおかしくなっているおおよその箇所を特定し、詳細情報が必要なステートメントのコード行の左側をクリックしてブレークポイントを設定してください。コードの実行が一時停止し、すべてのグローバル変数、ローカル変数、プロパティ、およびオブジェクト参照に、その時点までにゲーム内で割り当てられた値が表示されます。

コードをステップ実行する
特定のブレークポイントでコードを一時停止すると、何が起きているのかを詳しく調べることができます。たとえば、他の関数呼び出しに到達した際、その関数に「ステップイン」して、関数内で何が行われているかを確認できます。また、任意の関数から「ステップアウト」することも可能です。これにより、関数が返るまでコードが実行され、その関数を呼び出したコード内の次のステートメントで停止します。この機能を使用することで、変数が時間とともにどのように変化しているか、またどの関数が呼び出されているかを詳細に観察することができます。


変数の変更を監視する
「ウォッチの追加」を使用すると、ブレークポイントに到達した際に追跡または監視したい変数を Lua デバッガーに指定できます。ウォッチリストに項目を追加するには、スクリプトビューで変数をハイライト表示し、右クリックして「ウォッチの追加」メニュー項目をクリックします。あるいは、「ウォッチの追加」ボタンをクリックして変数名を入力することもできます。これにより、ブレークポイントに到達した際に、ウォッチ対象の変数の値に関する情報が自動的に取得されます。

コールスタック
コールスタックウィンドウには、相互に順次呼び出される関数のリストが表示されます。 たとえば、関数 A が関数 B を呼び出し、関数 B がさらにブレークポイントが埋め込まれた関数 C を呼び出すとします。その後、実行がそのブレークポイントで停止すると、スタックには各関数が呼び出された順序と、呼び出しが行われた場所が表示されます。関数 C のローカル変数を監視しながら、スタック内の関数間を切り替えたり、スタックリストで現在選択されている関数のコンテキストを変更したりして、それらのローカル変数への変更を確認することもできます。

Luaデバッガーの使用
Luaデバッガーは、Roblox Studioでスクリプトを編集中であればいつでも利用できます。使い始めたり、コードにブレークポイントを追加したりするには、スクリプトウィンドウ内で一時停止したいコード行の左側をクリックするだけです。クリックしてブレークポイントとして指定した各行には、赤い点が表示されます。

ゲームのテストプレイを開始するとすぐに、[View] メニューの [Breakpoint]、[Add Watch]、[Call Stack] オプションを切り替えて、メインビューポートの下でコードの動作を調査できます。とても簡単です!Lua デバッガーをまだ使ったことがない方は、ぜひ試してみてください。
新機能
Luaデバッガーの主な機能についてご紹介しましたが、最近では以下のような重要な改善や修正を多数実施しました。
- ブレークポイントやコールスタックウィンドウから、正しいスクリプトが開かない場合がある問題を修正しました。
- Lua デバッガーの現在行のハイライト表示を修正しました。
- Protected call または pcall のエラーが正しく検出されるようになりました。
- 値の監視や追跡が可能な「Mixedテーブル」を追加しました。また、テーブル変数にカーソルを合わせると、出力することなくすべての値を即座に確認できます。
- UIの細かな改善を多数行いました。
- ツールチップおよび「ウォッチの追加」ウィンドウに対する各種修正を行いました。
- 単一文字の変数にマウスをホバーすると、変数の値が正しく表示されるようになりました。
- すべてのプロパティがツールチップおよび「ウォッチ」ウィンドウに表示されるようになり、プロパティの欠落はなくなりました。
私たちは、才能あふれるRoblox開発者コミュニティの皆様に、必要なツールを提供することに尽力しています。Luaデバッガーのさらなる改善に向けたご意見・ご要望を、開発者フォーラムにてぜひお聞かせください。


