【Roblox Studio】ブレークポイントとステップイン・オーバー・アウト【デバッグツール②】

Debug

1. ブレークポイントとステップ機能

本記事では、デバッグの際に使用するブレークポイントとステップイン、ステップオーバー、ステップアウトの機能を実際に使用しながら紹介していきます。

デバッグとは、プログラムのコードに潜在するバグや問題を特定し、修正するためのプロセスです。

2. 使用する機能

・デバッグツール
・ブレークポイント
・ステップイン(Step into)
・ステップオーバー(Step Over)
・ステップアウト(Step Out)
・Script

3. 手順

まず、Roblox Studioを起動します。今回は、テンプレート「Baseplate」を使用します。

ブレークポイント

ブレークポイントの機能を試すための準備をしていきます。
Scriptを追加し、以下のコードを記入します。

print("Hello world!1")
print("Hello world!2")
print("Hello world!3")
print("Hello world!4")

行番号の隣のスペースをクリックすると、赤丸が表示されます。これがブレークポイントとなります。今回はスクリプトの3行目にブレークポイントを設置しました。

この状態で実行してみます。
ブレークポイント手前の2行目までが実行され、3行目で一時停止しています。

以下画像にあるResumeをクリックすると、続きのコードが実行されます。

ブレークポイントを消去する際は、ブレークポイントの赤丸上で右クリックして、「Delete Breakpoint」をクリックすると、消去できます。

このように、ブレークポイントを使用することで、スクリプトの指定の行でコードの実行を一時停止することができます。

以下からは、一時停止後のコードの進め方(ステップイン・ステップオーバー・ステップアウト)の機能をみていきます。

ステップイン

まずは、準備としてスクリプトに以下のコードを記入し、ブレークポイントを1行目に設定します。

local function multiplyNumbers(a, b)
    local result = a * b
    return result
end

local product = multiplyNumbers(3, 4)
print(product)

上記コードは、関数と関数を呼び出す行と結果を出力する行で成り立っています。今回は、ステップイン・ステップオーバー・ステップアウトがそれぞれどのように関数を扱うのかに着目します。

さっそく、スクリプトを実行し、ブレークポイントで一時停止している状態でステップインをクリックします。

すると、2行目の関数の中のコードではなく、6行目の関数を呼び出す行に移動しました。

再度、ステップインをクリックすると、呼び出された関数の中に移動しました。

関数の中をすべて実行すると、7行目の関数を呼び出した後の行に移動しました。

実際に出力結果を見ると、正しく関数が実行できていることが分かります。

このように、ステップインはコードを1行ずつ順番よく実行し、関数が呼び出されれば、その関数の中に移動する機能だと分かります。

ステップオーバー

次は、ステップオーバーの機能を見てみます。同様に、スクリプトを実行し、ブレークポイントで一時停止している状態でステップオーバーをクリックします。

ステップインと同じように、関数を呼び出す行に移動します。

再度クリックすると、呼び出された関数の中ではなく、そのまま7行目に移動しました、

実行結果を見ると、正しく関数が実行できていることが分かります。

ステップオーバーは、関数の中に移動はせず、関数の実行結果のみ取得して、次の行に移動していることが分かります。

ステップアウト

最後に、ステップアウトの機能を見てみます。ステップアウトの場合は、ブレークポイントを1行目から関数の中の2行目に変更します。

この状態でスクリプトを実行し、関数内に設置したブレークポイントで一時停止していることを確認してステップアウトをクリックします。

すると、関数の外、かつ、その関数を呼び出す行の1つ先の行に移動しました。

実行結果は、前回と同様な結果となり、関数が正しく実行できていることが分かります。

このように、ステップアウトは、現在の関数の呼び出し後の行に移動する機能だと分かります。

4. まとめ

  • ブレークポイント
    コードの実行を特定の行で一時停止させる。
  • ステップイン
    コードを一行ずつ実行し、関数の呼び出しがある場合はその関数の中に入る。
  • ステップオーバー
    関数の中には移動せず、実行結果のみ取得し、次の行へ進む。
  • ステップアウト
    関数の内部で実行中に、その関数を抜けて関数を呼び出した次の行に移動する。
チュートリアル系電子書籍の紹介
Roblox Studioでゲーム制作を始めてみませんか?
日本語版 ※英語版あり 「10時間でできる Roblox Studio アクションゲーム制作入門」では、Roblox Studioでのゲーム制作の基本から応用までを短時間で効率的に学びます。この一冊で、初心者でも簡単にアクションゲームを制作できるようになり、ゲーム制作の面白さと達成感を存分に味わうことができます。Roblox Studioの世界への扉を開き、あなたのクリエイティブな旅を始めましょう。
Luaに関する電子書籍の紹介
Roblox Studioで使用するLua言語の基本を学ぼう!
日本語版 ※英語版あり 「5時間でできる Roblox Studio を使ったLuaの基本」では、Roblox Studioで使用するプログラミング言語Luaの基本をRoblox Studio上で学びます。また、学んだ知識を活かして、Roblox StudioでLuaを使用する応用部分も一部盛り込まれています。この一冊でLuaの基本を学ぶことで、よりRoblox Studioでのゲーム制作を楽しめるようになります。
アニメーション制作系電子書籍の紹介
Roblox Studioでアニメーションを作ってみよう!
「5時間でできる Roblox Studio アニメーション制作入門」では、Roblox Studioでのアニメーション制作の基本から実際に作るところまでを短時間で効率的に学びます。この一冊で、アニメーション制作の第一歩を踏み出すことができます。Roblox Studioで自由自在にアニメーションを作成し、よりクリエイティブなゲームを作りましょう!
Debug
シェアする
hideをフォローする
Roblox Studio 制作tips

コメント

タイトルとURLをコピーしました