Studio menawarkan banyak alat debug yang biasanya ditemukan di Integrated Development Environments (IDE). Alat-alat ini membantu Anda menyelesaikan kesalahan dan memeriksa garis-garis skrip saat mereka berjalan. Info debug ditampilkan di Watch , Call Stack , Breakpoints , dan 1>Output1> jendela untuk Anda untuk mengecek.
Mengalir Umum
Jika Anda melihat masalah dalam pengalaman Anda atau ingin memverifikasi bahwa itu bekerja seperti yang Anda inginkan, Anda dapat men-debug kode terkaitnya sebagai berikut:
Sisipkan titik-titik pemecahan pada baris kode yang ingin Anda tinjau.
Di tab Skrip, klik Bermain atau Lari di tab tes untuk memulai sesi playtest, juga dikenal sebagai sesi debug.
Ketika script menghantam titik berhenti, sesi playtest berhenti. Langkah melalui kode. Periksa Jam Tangan , Panggil Stack , dan Keluarkan jendela untuk membantu Anda mendiagnosis dan memahami masalah ini.
Sisipkan titik pemecahan tambahan pada baris kode yang belum dijalankan untuk mengecek data tambahan. Nonaktifkan atau hapus titik pemecahan yang tidak Anda butuhkan lagi.
Di tab Skrip , klik Berhenti untuk mengakhiri sesi debug.
Ulangi langkah-langkah sebelumnya sampai Anda menyelesaikan masalah atau menemukan penyebab akar. Saat Anda belajar workflow umum, Anda dapat mengkonfigurasi titik-titik pemecahan hanya jika kondisi tertentu dipenuhi, untuk mencetak pesan ke jendela Output dan hanya menjalankan di klien atau server. Untuk informasi lebih lanjut, lihat Konfigurasi Titik P
Menghasilkan Titik Pemutus
Poin pemutus adalah checkpoint yang menghentikan atau "memutus" eksekusi skrip Anda di garis tertentu. Anda dapat menggunakan jeda untuk mengeksplorasi dan men-debug pengalaman Anda, menonton variabel, dan mengeksplorasi panggilan stack. Poin pemutus adalah salah satu alat debug yang paling efektif, jadi mereka adal
Untuk menambatkan titik pemecahan standar di satir kode, klik kanan pada bilah margin ke kanan nomor barisnya. Anda juga dapat menambatkan titik pemecahan dan menekan Tombol Masukkan. Titik pemecahan muncul sebagai titik dot. Untuk menonaktifkannya, klik dot.
Melangkah Melalui Kode
Jika Anda menyisipkan titik berhenti di satir dalam script, script berhenti sebelum mengeksekusi baris itu. Panah kuning yang disebut " debugger " menunjukkan baris mana dari kode yang dijalankan selanjutnya.
Ketika script berhenti, eksekuti kode berikut satu baris pada satu waktu dengan menginjak melalui mereka dengan tombol-tombol dalam Skrip tab. Tombol juga muncul di sudut atas kiri dari jendela Panggilan Stack. Saat Anda mengeksekuti kode, perhatikan bagaimana pengalaman Anda berubah saat baris saat ini dieksekusi.
Tabel berikut menyajikan tiga cara untuk berjalan melalui kode. Untuk melanjutkan mengeksekusi kode setelah Anda menekan titik berhenti, klik Lanjutkan di tab Skrip.
Tombol | Tindakan | Jalan pintas | Deskripsi |
---|---|---|---|
Masuk ke | F11 | Tombol Langkah Ke Dalam menggerakkan debugger ke kode fungsi di baris saat ini. Jika tidak ada fungsi di baris saat ini, debugger pindah ke baris berikutnya. | |
Langkah di Atas | F10 | Tombol Langkah ke atas menyebarkan debugger ke baris kode berikutnya, tidak pindah ke fungsi. | |
Langkah Keluar | Bergeser ke atasF11 | Tombol Langkah Keluar menyebarkan debugger keluar dari fungsi saat ini dan ke baris kode berikutnya setelah panggilan fungsi. Jika baris saat ini tidak berada di dalam fungsi, debugger pindah ke baris berikutnya. |
Menginspeksi Kode
Ketika titik pemutus menghentikan pengalaman selama playtest, Anda dapat menginspeksi jendela Jam Tangan, Panggil Stack, Output, dan 1> Editor Skrip1> untuk menemukan informasi tentang nilai variabel dan eksekusi fungsi. Dengan informasi ini, Anda dapat menemukan penyebab akar masalah dalam pengalaman Anda.
Jendela Pengawasan
Jendela Jam Tangan memiliki dua tab: Variabel dan Jam Tangan Saya . Tab 1> Variabel1> menunjukkan informasi tentang variabel saat ini dalam skop, dan tab 4> Jam Tangan Saya4> menunjukkan nilai variabel atau ekspresi yang Anda definisikan. Kedua tab menunjukkan informasi sebelum baris eksekusi
Tab Variabel memiliki kolom berikut:
- Nama – Nama yang diumumkan dari variabel.
- Skala - Skala variabel: di mana itu dapat "dilihat" dan diakses, seperti lokal, global, atau Upvalue.
- Nilai –Nilai saat ini variabel.
- Jenis Data - Jenis data variabel.
Tab Jam Tangan Saya memiliki kolom berikut:
- Expression – Ekspresi yang ingin Anda tonton.
- Nilai –Nilai ekspresi saat ini.
- Jenis Data - Jenis data dari ekspresi.
Di tab Variabel , Anda dapat menyaring rentang variabel dengan mengklik ikon filter. Anda juga dapat mengurutkan baris dengan mengklik nama kolom untuk diurutkan. Jendela jam menyediakan kedua pandangan yang diperluas dan ditutup.
Untuk memeriksa kode di jendela Jam tangan:
Jika jendela Jam Tangan tidak terbuka, maka klik Jam Tangan di tab Pandangan.
Ketika sesi playtest Anda berhenti pada titik pemutus, pikirkan tentang bagaimana Anda mengharapkan garis saat ini untuk mengubah nilai variabel dalam script tersebut.
Saat Anda meninjau kode, perhatikan bagaimana nilai variabel berubah di Tab Variabel . Jika Anda ingin menonton ekspresi di tab Ekspresi, buka tab My Watches . Klik baris kosong di kolom Ekspresi, kemudian tulis ekspresi ke dalamnya. Jika Anda ingin menonton variabel di Editor Skrip, gandakan klik nama
Bandingkan nilai variabel dan ekspresi dari apa yang Anda harapkan dan apa yang Anda lihat di jendela Jam tangan. Jika ada perbedaan antara cara Anda mengharapkan variabel berubah dan cara mereka sebenarnya berubah, maka variabel atau fungsi yang berinteraksi dengan mereka mungkin menyebabkan masalah atau bug.
Panggil Jendela Stack
Jendela Panggilan Stack menunjukkan garis kode mana yang akan dijalankan selanjutnya ketika debugger mencapai titik berhenti. Panggilan Stack menunjukkan garis kode yang Anda panggil dari dan, jika Anda memanggil fungsi dari fungsi lain, urutan panggilan fungsi dan yang baris Anda pang
Jika Anda memiliki lebih dari satu titik berhenti di berbagai skrip, mereka mungkin menghentikan sesi playtest pada saat yang sama. Anda dapat melompat ke titik berhenti dengan mengklik panah di samping nama script di jendela Call Stack. Jika Anda mengklik Lanjutkan , maka Anda melompat melalui semua titik berhenti yang dihentikan pada saat yang sama.
Untuk menginspeksi kode di jendela Call Stack selama sesi debug:
Jika jendela Panggilan Stack tidak terbuka, maka klik Panggilan Stack di tab Tampilan.
Ketika pengalaman Anda berhenti pada titik pemutus, pikirkan tentang bagaimana Anda mengharapkan panggilan fungsi berada dalam script itu.
Call Stack menunjukkan urutan panggilan fungsi. Jika breakpoint berada di dalam fungsi, Call Stack menunjukkan fungsi mana yang memanggil fungsi tersebut, jika ada. Call Stack juga menunjukkan nama dan nomor baris setiap fungsi. Klik baris untuk fungsi untuk melompat ke itu.
Bandingkan urutan panggilan fungsi yang Anda pikirkan dalam langkah 2 dan urutan keseluruhan dari langkah 3. Jika ada perbedaan, maka ada perbedaan antara cara Anda mengharapkan kode berperilaku dan cara keseluruhan berperilaku, yang kemudian menyebabkan masalah potensial dan bug.
Jendela keluar
Jendela Output , akses dari tab print(), menunjukkan kesalahan yang ditangkap dari mengeksekuskan skrip, pesan dari Roblox Engine, pesan dari panggilan ke 0> print()0> , dan kesalahan dari panggilan ke 3> warn()3> .
Editor Skrip
Debugger dibuat bersama dengan Editor Skrip . Saat pengalaman Anda berhenti di titik pemutus dalam sebuah skrip, Anda dapat menyebarkan mouse Anda atas nama variabel untuk melihat nilainya. Misalnya, Anda dapat melihat nilai tabel yang Anda berikan sebagai argumen dalam panggilan fungsi.
Konfigurasi Titik Pemecahan
Anda dapat mengkonfigurasi titik-titik pemecahan untuk dipecahkan hanya jika beberapa kondisi dipenuhi, untuk mencetak pesan ke jendela Keluar, dan untuk mengeksekusi hanya di klien atau server. Anda juga dapat menggabungkan konfigurasi ini bersama-sama untuk menyesuaikan kebutuhan debugging Anda.
Mengedit Pemutus
Anda dapat mengedit konfigurasi breakpoint kapan pun, termasuk selama sesi playtest. Jika Anda mengedit breakpoint selama sesi playtest, perubahan tetap bertahan bahkan setelah Anda selesai. Anda juga dapat mengedit breakpoint yang sedang secara aktif menghentikan sesi playtest Anda, tetapi perubahan tidak berlaku sampai sesi playtest berikutnya.
Untuk mengedit konfigurasi breakpoint:
Klik kanan pada titik pemutus, lalu klik Edit Titik Pemutus .
Di jendela Edit Breakpoint , konfigurasikan breakpoint seperti yang Anda inginkan.
Kondisi, Pesan Log, dan Opsi
Untuk setiap titik pemecahan, Anda dapat menetapkan Kondisi, Pesan Log, Lanjutkan Eksekusi, dan 2> Konteks2>.
Kondisi adalah ekspresi yang menentukan apakah titik pemutus aktif. Kondisi bersyarat. Jika Kondisi kosong, titik pemutus selalu aktif. Jika Kondisi ada, maka titik pemutus hanya akan aktif jika
Pesan Kode Pesan LOG adalah ekspresi yang dicetak ke jendela Keluaran ketika kondisi ini benar.Format pesan Log adalah sama dengan argumen untuk print() pernyataan. Misalnya, tetapkan pesan Log sebagai "The value of n:", n untuk menc
Opsi Lanjutkan Eksekusi menentukan apakah titik istirahat menghentikan skrip jika diaktifkan. Ini berguna jika Anda ingin menghitung nilai variabel atau ekspresi tanpa menghentikan eksekusi. Opsi ini dinonaktifkan secara default.
Konteks Konteks dari titik pemutus menentukan apakah titik pemutus harus diaktifkan di Client, Server, atau Edit. Jika konteks adalah Client, maka titik pemutus diaktifkan di script sisi klien. Jika konteks adalah Server, maka titik pemutus diaktifkan di script sisi server. Jika konteks adalah Edit, maka titik pemutus diaktifkan saat Anda men
Pemecahan Kondisional dan Logpoint
Studio menawarkan varian pemecahan untuk membuat pemecahan pemecahan lebih cepat. Untuk menyisipkan varian pemecahan, klik kanvas ke kanan nomor barisnya, lalu klik varian yang ingin Anda sisipkan.
A Pemutus Pengondisional adalah pemutus pengondisional dengan kondisi dan kondisi eksekusi terputus yang dinonaktifkan. Pemutus pengondisional hanya menghentikan skrip Anda jika kondisi benar, jadi mereka berguna untuk men-debug bagaimana fungsi dieksek
A Logpoint adalah titik pemotongan dengan pesan Pesan Log dan Eksekusi Berlanjut yang aktif. Logpoints menulis pesan log ke jendela Keluar dengan menyusun ulang skrip Anda, sehingga mereka berguna untuk debugging nilai variabel. Saat Anda menyisipkan Logpoint, cursor Anda fokus p
Logpoints sering lebih efisien untuk mendebogkan variabel daripada print() pernyataan karena mereka memungkinkan Anda untuk mencatat pesan ke jendela Keluaran tanpa harus menghentikan atau memulai ulang sesi playtest aktif. Dibandingkan dengan print() pernyataan, mereka menjaga kode Anda bersih saat mendebog dan lebih mudah dihapus setelah Anda selesai mendebog.
Menonaktifkan Titik Pemutus
Ada banyak cara untuk menonaktifkan dan menyalakan kembali titik istirahat:
- Klik ikon breakpoint.
- Edit breakpoint dan toggle checkbox-nya yang Diaktifkan.
- Klik ikon titik pemecahan kanan dan klik Nonaktifkan Titik Pemecahan atau Aktifkan Titik Pemecahan.
Menghapus Titik Pemutus
Untuk menghapus titik istirahat, klik ikon tengah. Anda juga dapat menghapus ikonnya dengan cara menghapus tengah dan mengklik Hapus Titik Istirahat .
Jendela Titik Pemecahan
Jendela Breakpoints menunjukkan semua breakpoints di pengalaman Anda. Untuk membuka jendela Breakpoints, klik tab Tampilan di bagian atas Studio, lalu klik Breakpoints.
Jendela Breakpoints memiliki kolom berikut: unlabeled, Script, Line, Source Line, Condition, Log Message, dan Continue Execution. Kolom yang tidak diberi label, Script, dan Line selalu ditampilkan, tetapi Anda dapat menyesuaikan kolom lain dengan mengklik tiga titik di sudut kanan atas jendela.
Di kolom tanpa label, label (x3) menunjukkan jumlah breakpoint di baris kode yang sama, dan ikon menunjukkan konfigurasi breakpoint. Breakpoint di baris yang sama berbagi kondisi, pesan log, dan eksekusi lanjutan tetapi bervariasi dalam konteks. Anda dapat mengedit konfigurasi breakpoint di jendela Breakpoint. Misalnya, Anda dapat mengedit kondisi breakpoint dengan m
Anda dapat mengaktifkan dan menonaktifkan titik-titik pemecahan dengan mengklik ikon titik-titik pemecahan di kolom Diaktifkan. Anda juga dapat mengklik tombol berikut untuk mengaktifkan, menonaktifkan, dan menghapus beberapa atau semua titik-titik pemecahan.
Tombol | Tindakan |
---|---|
Nonaktifkan semua titik pemutus. Jika titik pemutus apa pun dinonaktifkan, aktifkan semuanya. | |
Hapus semua titik pemecahan. |
Simbol Pemecah
Ikon dari titik pemutus tergantung pada apakah itu diaktifkan, memiliki kondisi, dan memiliki pesan log. Jika titik pemutus memiliki pesan log, maka tampaknya sebagai titik pemutus terlepas pedoman apakah itu memiliki kondisi.
Nama | Ikon | Aktif | Kondisi | Pesan Log |
---|---|---|---|---|
Pemecah | Ya | Tidak | Tidak | |
Tidak | Tidak | Tidak | ||
Pemecah Tindakan Kondisional | Ya | Ya | Tidak | |
Tidak | Ya | Tidak | ||
Poin Log | Ya | Mungkin | Ya | |
Tidak | Mungkin | Ya |
Alat Debug Tambahan
Selain debugger, Studio menawarkan alat debug tambahan untuk Anda untuk memperbaiki masalah dan bug dalam pengalaman Anda.
Bar Perintah
Bar Komand memungkinkan Anda untuk mengeksekusi perintah Luau saat pengalaman berjalan. Ini tersedia di Studio dari tab Lihat dan di Konsol Pengembang.
Konsol Pengembang
Developer Console menyediakan berbagai fitur, termasuk keluaran klien dan server, penggunaan memori, kinerja jaringan, dan banyak lagi. Untuk membuka /console saat menguji atau bermain pengalaman, ketik /console di chat atau tekan 1>F91> . Untuk informasi lebih lanjut, lihat 4>Konsol Peng
File Log
Ketika naskah mencetak atau kesalahan di Studio atau aplikasi Pemain, aplikasi menyimpan pesan dalam file log di sistem file lokal. File-file ini berlokasi di berbagai tempat tergantung pada sistem operasi.
Jendela
Untuk mengakses file log di Windows:
- Buka File Explorer .
- Navigate to the %LOCALAPPDATA%\Roblox\logs directory.
- Gandakan klik pada log untuk membukanya. Log dengan nilai XXXXX yang sama berasal dari sesi Studio yang sama.
Mac
Untuk mengakses file log di Mac:
- Buka Pencari .
- Di menu bar, pilih Pergi >.
- Dalam dialog, masukkan ~/Library/Logs/Roblox.
- Gandakan klik hasil untuk menavigasi ke direktori Roblox log.
- Di dalam direktori, gandakan klik pada log untuk membukanya.
iOS
Anda dapat mengumpulkan catatan iOS menggunakan Mac atau menggunakan perangkat iOS.
Untuk mengakses file log iOS di Mac:
- Hubungkan perangkat iOS ke Mac.
- Buka Pencari .
- Navigate to Utilities and open the Console application.
- Untuk mengisi log dalam waktu nyata di aplikasi Konsol, pilih perangkat iOS dari bilah samping, klik tombol Mulai dan reproduksi masalah di perangkat iOS.
- Untuk mengisi kayu-kayu yang disimpan di aplikasi Console, lakukan sudo log collect --DEVICE-NAME" di Terminal. Pastikan tidak ada huruf besar di nama perangkat atau Anda mungkin mendapatkan kesalahan saat mengeksekusi perintah.
Bahasa Pemrograman Android
Untuk mengakses file log di Android:
- Navigate to Pengaturan ↳ Sistem ↳ Opsi pengembang .
- Toggle Opsi pengembang on.
- Pada komputer, unduh dan instal Android Studio.
- Di Android Studio, klik Logcat .
- Hubungkan perangkat Android ke komputer untuk secara otomatis mengisi Logcat dengan log.