Debug C# kode dalam Unity
Pengujian Unit

Stack trace logging

Pesan dan file log unity Console dapat mencakup informasi jejak stack rinci. Konsol juga menghubungkan garis kode yang dihasilkan pesan. Ini berguna ketika Anda ingin mengidentifikasi garis, metode, atau urutan panggilan fungsi yang menyebabkan masuk log muncul.

Sitemap Cara lain untuk memeriksa kode Anda adalah untuk Tip: ke Editor atau pemain bawaan Anda.melampirkan debugger to the Editor or your built player.

Stack jejak untuk kode yang dikelola dan tidak dikelola

Unity dapat memberikan informasi jejak stack untuk kode yang dikelola dan tidak dikelola:

  • Sitemap Dikelola DLLs atau C# Managed code: berjalan dalam Unity. Ini dapat menjadi skrip yang kapal dengan Unity, skrip kustom yang Anda tulis, skrip pihak ketiga termasuk dengan scriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
    Lihat di Glossary
    %, atau skrip C# lainnya yang berjalan di mesin.Asset storeSebuah perpustakaan yang berkembang dari aset gratis dan komersial yang diciptakan oleh Unity dan anggota komunitas. Menawarkan berbagai aset, dari tekstur, model dan animasi ke seluruh contoh proyek, tutorial dan ekstensi Editor. More info
    Lihat di Glossary
    plug-inSatu set kode yang dibuat di luar Unity yang menciptakan fungsi dalam Unity. Ada dua jenis plug-ins yang dapat Anda gunakan di Unity: Managed plug-ins (diproduksi. Rakitan NET dibuat dengan alat-alat seperti Studio Visual) dan plug-ins asli (pustaka kode asli yang spesifik platform). More info
    Lihat di Glossary
    , or any other C# script that runs in the engine.

  • Sitemap Kode mesin Unity asli, atau kode dari plugin asli berjalan langsung pada mesin Anda atau pada platform build target. Kode yang tidak dikelola biasanya disusun dari kode C atau C++. Anda hanya dapat mengaksesnya jika Anda memiliki kode sumber asli biner asli. Biasanya, Anda akan menggunakan jejak stack untuk kode yang tidak dikelola hanya jika Anda perlu menentukan apakah kesalahan yang disebabkan oleh kode Anda atau kode mesin, dan bagian dari kode mesin.Unmanaged code: Native Unity engine code, or code from a native plugin running directly on your machine or on a target build platform. Unmanaged code is usually compiled from C or C++ code. You can only access it if you have the original source code of the native binary. Typically, you will use stack trace for unmanaged code only if you need to determine whether an error is caused by your code or the engine code, and which part of the engine code.

Unity menawarkan tiga opsi jejak stack:

  • Sitemap Unity tidak output informasi jejak stack.None: Unity doesn’t output stack trace information.
  • Sitemap Output unity stack informasi jejak hanya untuk kode yang dikelola. Ini adalah opsi default.ScriptOnly: Unity outputs stack trace information only for managed code. This is the default option.
  • Sitemap Output unity stack informasi jejak untuk kode yang dikelola dan tidak dikelola.Full: Unity outputs stack trace information for both managed and unmanaged code.

Persyaratan sumber daya jejak stack

Menyelesaikan jejak tumpukan, terutama jejak tumpukan penuh, adalah operasi intensif sumber daya. Beberapa praktik terbaik untuk jejak stack meliputi:

  • Gunakan jejak stack hanya untuk debug. Jangan menyebarkan aplikasi kepada pengguna dengan stack trace diaktifkan.
  • Batasi jenis pesan yang menampilkan jejak stack. Misalnya, pertimbangkan menggunakan stack trace hanya untuk pengecualian dan peringatan.

Menyiapkan jenis jejak stack

Sitemap Opsi jejak stack adalah pengaturan build dan mempengaruhi pemain yang dibangun. Ini bukan preferensi pandangan di Editor.Note: The stack trace option is a build setting and affects the built player. It is not a view preference in the Editor.

Untuk menentukan seberapa banyak detail untuk memasukkan jejak stack, Anda dapat menggunakan API scripting atau Editor:

  • Untuk mengontrol jejak stack melalui API scripting, gunakan Aplikasi.SetStackTraceLogType. Anda dapat menggunakan API untuk mengubah pengaturan jejak stack dari pemain sebelum dibangun, atau saat menjalankannya.

  • Untuk menggunakan Konsol, pilih tombol menu Konsol, kemudian:
    • Untuk memilih opsi jejak stack yang sama untuk semua jenis pesan Konsol, pilih Stack Trace Logging > All.
    • Untuk memilih opsi jejak stack untuk hanya salah satu jenis pesan Konsol, pilih Stack Trace Logging > [MESSAGE TYPE]. Membangun kembali pemain Anda dengan pengaturan baru.
  • Untuk menggunakan jendela Pengaturan Pemain, pilih File > Pengaturan Build > Pengaturan Pemain > Pengaturan lain. Membangun kembali pemain Anda dengan pengaturan baru.

Stack trace logging options from the Console. This example shows the options for Exception.
Stack opsi penebangan jejak dari Konsol. Contoh ini menunjukkan pilihan untuk Kecuali.

Buka file sumber dari output stack trace

Teks penuh pesan termasuk referensi ke baris tertentu dalam file kode dengan tautan. Klik tautan untuk membuka file di IDE Anda di garis yang direferensikan.

Temukan file log output dari aplikasi yang dibangun

Aplikasi bawaan tidak output ke Konsol. Untuk melihat jejak stack, menggunakan file log aplikasi.

Debug C# kode dalam Unity
Pengujian Unit