Studio menawarkan banyak alat debugging dan alur kerja yang umum ditemukan di Integrated Development Environments (IDEs). Ini membantu Anda memeriksa dan menyelesaikan kesalahan dalam skrip saat mereka dijalankan.
Debugging breakpoint
Breakpoint adalah titik pemeriksaan yang menghentikan atau "memutuskan" eksekusi skrip Anda pada baris tertentu. Anda dapat menggunakan jeda ini untuk memeriksa dan mendebug permainan Anda, menonton variabel, dan memeriksa call stack. Breakpoint adalah salah satu cara paling efektif untuk mendebug fungsi, jadi mereka adalah salah satu alat debugging yang paling penting.
Manajemen
Di Script Editor, Anda dapat menyisipkan beberapa jenis breakpoint dan mengedit konfigurasi breakpoint kapan saja, termasuk selama sesi playtest. Jika Anda mengedit breakpoint selama sesi playtest, perubahan tersebut akan tetap ada bahkan setelah Anda menyelesaikannya. Anda juga dapat mengedit breakpoint yang sedang menghentikan sesi playtest Anda, tetapi perubahan tidak akan diterapkan hingga sesi playtest berikutnya.
Sisipkan
Breakpoint memiliki beberapa variasi dan dapat disisipkan di baris kode yang dapat dieksekusi sebagai berikut:
Untuk menyisipkan breakpoint standar di baris kode, klik di area langsung di sebelah kanan nomor barisnya. Sebagai alternatif, klik kanan di area tersebut dan pilih Sisipkan Breakpoint. Ikon breakpoint muncul sebagai lingkaran merah.

Nonaktifkan
Untuk menonaktifkan sementara breakpoint tanpa menghapusnya, gunakan salah satu alur kerja berikut:
- Klik ikon breakpoint.
- Klik kanan ikon breakpoint dan pilih Nonaktifkan Breakpoint.
- Edit breakpoint dan aktifkan atau nonaktifkan kotak centang Diaktifkan.
Breakpoint yang dinonaktifkan muncul sebagai versi kosong dari ikon yang diaktifkan, misalnya lingkaran kosong untuk breakpoint standar yang dinonaktifkan, atau berlian kosong untuk logpoint yang dinonaktifkan.


Hapus
Untuk menghapus breakpoint, klik tengah pada ikonnya atau klik kanan ikonnya dan pilih Hapus Breakpoint.
Edit
Anda dapat mengedit konfigurasi breakpoint kapan saja, termasuk selama sesi playtest. Jika Anda mengedit breakpoint selama sesi playtest, perubahan tersebut akan tetap ada bahkan setelah Anda menyelesaikannya. Anda juga dapat mengedit breakpoint yang sedang menghentikan sesi playtest Anda, tetapi perubahan tidak akan diterapkan hingga sesi playtest berikutnya.
Untuk mengedit breakpoint:
Klik kanan ikon breakpoint dan pilih Edit Breakpoint.
Di jendela Edit Breakpoint, konfigurasikan breakpoint sesuai keinginan. Anda dapat mencampur konfigurasi ini untuk memenuhi kebutuhan debugging Anda.
Opsi Deskripsi Kondisi Ekspresi opsional yang menentukan apakah breakpoint diaktifkan. Jika kondisi kosong, breakpoint selalu diaktifkan. Jika kondisi ada, breakpoint menjadi breakpoint kondisional dan diaktifkan hanya jika kondisi benar. Misalnya, jika Anda ingin breakpoint diaktifkan hanya jika variabel var sama dengan 10, atur kondisinya ke var == 10. Pesan Log Ekspresi yang dicetak ke jendela Output saat breakpoint tercapai. Format pesan log sama dengan pernyataan print(). Misalnya, atur pesan log sebagai "Nilai dari var:", var untuk mengeluarkan pesan yang sama seperti print("Nilai dari var:", var). Lanjutkan Eksekusi Menentukan apakah breakpoint menghentikan skrip jika diaktifkan. Opsi ini dinonaktifkan secara default kecuali jika breakpoint yang disisipkan adalah logpoint. Hapus Breakpoint saat Tercapai Jika dicentang, breakpoint secara otomatis menghapus dirinya sendiri setelah sesi playtest pertama, secara efektif menjadikannya breakpoint sementara. Trigger At konteks dari breakpoint menentukan apakah ia harus diaktifkan di Klien (skrip sisi klien), Server (skrip sisi server), atau Edit (debugging skrip plugin). Jika Anda memilih Konteks Kustom, jendela menunjukkan konteks trigger saat ini.
Alur kerja
Alur kerja tipikal untuk debugging breakpoint adalah sebagai berikut:
Buka skrip yang ingin Anda debug dan sisipkan breakpoint di baris kode yang ingin Anda periksa.
Dari mezzanine Studio, mulai playtest untuk memulai debugging.

Ketika skrip mencapai breakpoint, sesi playtest berhenti kecuali breakpoint tersebut dikonfigurasi untuk melanjutkan eksekusi. Sebuah panah kuning di atas breakpoint menunjukkan baris kode mana yang akan dieksekusi selanjutnya.

Saat skrip berhenti, periksa jendela Breakpoints, jendela Watch, jendela Call Stack, jendela Output, dan Script Editor untuk menemukan informasi tentang nilai variabel dan eksekusi fungsi.
Untuk melanjutkan eksekusi kode setelah mencapai breakpoint, klik Lanjutkan Skrip di mezzanine.

Anda juga dapat mengeksekusi kode satu baris pada satu waktu dengan tombol langkah di mezzanine:

Tindakan Shortcut Deskripsi Langkah Masuk F11 Tombol Langkah Masuk memindahkan debugger ke dalam kode fungsi di baris saat ini. Jika tidak ada fungsi di baris saat ini, debugger pindah ke baris berikutnya. Langkah Lewati F10 Tombol Langkah Lewati memindahkan debugger ke baris kode berikutnya, tidak masuk ke dalam fungsi. Langkah Keluar ShiftF11 Tombol Langkah Keluar memindahkan debugger keluar dari fungsi saat ini dan ke baris kode berikutnya setelah pemanggilan fungsi. Jika baris saat ini tidak berada di dalam fungsi, debugger pindah ke baris berikutnya. Ketika Anda selesai mendebug sesi saat ini, klik tombol Hentikan.

Pemantauan
Studio mencakup beberapa jendela dan alat untuk memantau nilai variabel dan eksekusi fungsi saat debugging. Dengan informasi ini, Anda dapat menemukan penyebab utama sebagian besar masalah dalam skrip Anda.

Breakpoints
Jendela Breakpoints adalah tampilan terpadu yang menunjukkan semua breakpoint dalam semua skrip. Untuk membukanya, klik Breakpoints dari toolbar tab Script Studio, atau navigasikan ke menu Window ⟩ Debug dan aktifkan Breakpoints.
Di jendela, kolom Script dan Line selalu ditampilkan, dan Anda dapat mengaktifkan/mematikan kolom konfigurasi lainnya melalui menu ⋮ di sudut kanan atas. Dalam kolom Script, klik kanan pada breakpoint mana pun untuk menampilkan menu opsi untuk mengedit, menonaktifkan/mengaktifkan, menghapus, atau melompat ke baris breakpoint dalam skrip.

Saat dalam sesi debugging, kolom paling kiri menunjukkan (x3) yang menunjukkan beberapa konteks (Klien, Server, Edit) untuk breakpoint. Dengan memperluas cabang breakpoint mana pun, Anda kemudian dapat mengklik ikon di samping konteks tertentu untuk menonaktifkan/mengaktifkan untuk konteks tersebut, seperti menonaktifkan breakpoint hanya di konteks Klien sambil tetap mengaktifkannya di konteks Server.

Call Stack
Jendela Call Stack, yang dapat diakses dari toolbar tab Script Studio atau menu Window ⟩ Debug, menunjukkan baris kode mana yang akan dieksekusi selanjutnya ketika debugger mencapai breakpoint. Jika Anda memanggil fungsi dari dalam fungsi lain, ini menunjukkan baris mana fungsi tersebut dipanggil, memungkinkan Anda untuk mengonfirmasi apakah alur pemanggilan yang sebenarnya sesuai dengan alur yang diharapkan.


Saat skrip berhenti di breakpoint, gunakan tombol langkah di mezzanine untuk melangkah masuk, melewati, atau keluar dari fungsi/baris seperti yang dijelaskan dalam alur kerja.

Watch
Jendela Watch, yang dapat diakses dari toolbar tab Script Studio atau menu Window ⟩ Debug, memungkinkan Anda untuk secara aktif memantau nilai variabel dan ekspresi saat Anda melangkah melalui breakpoint.
Tab Variabel menunjukkan informasi tentang variabel saat ini dalam scope, dapat difilter dengan mengklik tombol Semua Scope di bilah atas jendela. Memperluas cabang menunjukkan anggota dari variabel atau instance tersebut dan nilai-nilainya. Anda juga dapat memantau variabel mana pun dengan menyorotnya di Script Editor, mengklik kanan, dan memilih Tambahkan Watch dari menu popup.


Script Editor
Debugger terintegrasi dengan Script Editor. Ketika permainan Anda berhenti di breakpoint dalam skrip, Anda dapat mengarahkan mouse Anda ke nama variabel untuk melihat nilainya. Misalnya, Anda dapat melihat komposisi tabel dan kunci/nilai yang terkandung di dalamnya.

Alat debugging tambahan
Selain debugger, Studio menawarkan alat debugging tambahan untuk Anda memperbaiki masalah dan bug dalam permainan Anda.
Command Bar
Command Bar memungkinkan Anda menjalankan perintah Luau saat permainan sedang berjalan. Ini tersedia di Studio dari menu Window ⟩ Script dan di Developer Console.
Developer Console
Developer Console menyediakan berbagai detail termasuk output klien dan server, penggunaan memori, kinerja jaringan, dan lainnya. Untuk membuka konsol saat menguji atau memainkan permainan, ketik /console ke dalam obrolan atau tekan F9.
File log
Ketika skrip mencetak atau menghasilkan kesalahan di Studio atau aplikasi pemain, aplikasi mencatat pesan tersebut dalam file log di sistem file lokal. File-file ini terletak di tempat yang berbeda tergantung pada sistem operasi.
Windows
Untuk mengakses file log di Windows:
- Buka File Explorer.
- Navigasikan ke direktori %LOCALAPPDATA%\Roblox\logs.
- Klik dua kali pada log untuk membukanya. Log dengan nilai XXXXX yang sama berasal dari sesi Studio yang sama.
Mac
Untuk mengakses file log di Mac:
- Buka Finder.
- Di bilah menu, pilih Go ⟩ Go to Folder....
- Di dialog, masukkan ~/Library/Logs/Roblox.
- Klik dua kali hasilnya untuk menavigasi ke direktori log Roblox.
- Di dalam direktori, klik dua kali pada log untuk membukanya.
iOS
Anda dapat mengumpulkan log iOS menggunakan Mac atau menggunakan perangkat iOS.
Untuk mengakses file log iOS di Mac:
- Hubungkan perangkat iOS ke Mac.
- Buka Finder.
- Navigasikan ke Utilities dan buka aplikasi Console.
- Untuk mengisi log waktu nyata di aplikasi Console, pilih perangkat iOS dari sidebar, klik tombol Mulai, dan reproduksi masalah di perangkat iOS.
- Untuk mengisi log yang diarsipkan di aplikasi Console, jalankan sudo log collect --device-name "[Nama Perangkat iOS]" di Terminal. Pastikan tidak ada tanda kutip dalam nama perangkat atau Anda mungkin mendapatkan kesalahan saat menjalankan perintah.
Android
Untuk mengakses file log di Android:
- Navigasikan ke Settings ⟩ System ⟩ Developer options.
- Aktifkan Developer options.
- Di komputer, unduh dan instal Android Studio.
- Di Android Studio, klik Logcat.
- Hubungkan perangkat Android ke komputer untuk secara otomatis mengisi Logcat dengan log.