Dukungan Windows Runtime
Batasan Scripting

Jejak stack terkelola dengan IL2CPP

Ketika pengecualian terjadi pada kode yang dikelola, jejak stack untuk pengecualian dapat membantu Anda memahami penyebab pengecualian. Ini sering dapat ditemukan dalam file player logFile .log yang dibuat oleh Pemain Standalone yang berisi catatan acara, seperti waktu eksekusi skrip, versi compiler, dan waktu AsetImport. Masuk file dapat membantu mendiagnosis masalah. More info
Lihat di Glossary
. Namun, jejak stack yang dikelola mungkin tidak muncul cara yang Anda harapkan karena jejak stack bervariasi tergantung pada konfigurasi build.

Login Opsi Konfigurasi Kompiler

Debug

Ketika C++ Konfigurasi Kompiler diatur ke Debug, IL2CPPBack-end scripting bersatu yang dapat Anda gunakan sebagai alternatif untuk Mono ketika proyek bangunan untuk beberapa platform. More info
Lihat di Glossary
melaporkan jejak stack yang dapat diandalkan, dan mencakup setiap metode yang dikelola di tumpukan panggilan. Jejak stack tidak termasuk nomor garis dari kode sumber C # asli.

Release and master

Ketika C++ Konfigurasi Kompiler diatur untuk Rilis atau Master, IL2CPP mungkin menghasilkan tumpukan panggilan yang hilang satu atau metode yang lebih dikelola. Ini karena kompilator C++ telah mengintip metode yang hilang. Metode inlining biasanya bagus untuk kinerja pada waktu berjalan, tetapi dapat membuat tumpukan panggilan lebih sulit untuk dipahami. IL2CPP selalu menyediakan setidaknya satu metode yang dikelola di tumpukan panggilan. Untuk jejak stack yang dibuat dari pengecualian yang dikelola, ini adalah metode di mana pengecualian terjadi. Ini juga termasuk metode lain jika mereka tidak dilinasi.

Source code line numbers

Untuk menemukan kesalahan bahwa kompiler menemukan kode Anda, Anda dapat mengkonfigurasi informasi jejak stack yang dikelola untuk menyertakan nama file dan nomor baris di jejak stack yang dikelola. Informasi jejak stack yang dikelola tidak mencakup informasi ini secara default, karena meningkatkan ukuran kode dan menyebabkan Pemain Unity untuk berjalan lebih lambat.

Sitemap Opsi untuk menyertakan nomor garis di jejak stack hanya tersedia di platform desktop.Note: The option to include line numbers in the stack trace is only available on desktop platforms.

Untuk mengkonfigurasi informasi jejak stack yang dikelola untuk menyertakan nama file dan nomor baris:

  1. Edit > Project Settings > Player > Other Settings.
  2. Set IL2CPP Stacktrace Information untuk Method Name, File Name, and Line Number.

Sitemap Ketika Note: diatur ke C++ Compiler Configuration atau Release, Anda mungkin mengalami hal berikut:Master, you might experience the following:

  • compiler mungkin menginline beberapa fungsi, yang menyebabkan mereka tidak muncul di jejak stack.
  • Nomor saluran kode sumber mungkin tidak cocok dengan nomor garis yang benar dalam kode Anda.

Script Debugging diaktifkan

Untuk mengaktifkan Script Debugging, pergi ke File > Build Settings kemudian klik kotak centang di sebelah Script Debugging. Dengan Script Debugging diaktifkan, IL2CPP akan selalu melaporkan jejak stack yang dikelola dengan metode, nama file, dan nomor garis. Namun, ini meningkatkan ukuran program dan menghasilkan kode yang lebih lambat. Menggunakan debugging script hanya untuk meningkatkan jejak stack tidak dianjurkan. Sebagai gantinya, aktifkan opsi yang ditampilkan di atas.

Dukungan Windows Runtime
Batasan Scripting