DebuggableAttribute.DebuggingModes Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan mode penelusuran kesalahan untuk pengkompilasi just-in-time (JIT).
Enumerasi ini mendukung kombinasi bitwise dari nilai yang termasuk di dalamnya.
public: enum class DebuggableAttribute::DebuggingModes
[System.Flags]
public enum DebuggableAttribute.DebuggingModes
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
public enum DebuggableAttribute.DebuggingModes
[<System.Flags>]
type DebuggableAttribute.DebuggingModes =
[<System.Flags>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type DebuggableAttribute.DebuggingModes =
Public Enum DebuggableAttribute.DebuggingModes
- Warisan
- Atribut
Bidang
| Nama | Nilai | Deskripsi |
|---|---|---|
| None | 0 | Dimulai dengan .NET Framework versi 2.0, informasi pelacakan JIT selalu dihasilkan, dan bendera ini memiliki efek yang sama dengan Default, kecuali bahwa ia mengatur properti IsJITTrackingEnabled ke Perhatikan bahwa, tidak seperti DisableOptimizations bendera, None bendera tidak dapat digunakan untuk menonaktifkan pengoptimalan JIT. |
| Default | 1 | Menginstruksikan pengkompilasi just-in-time (JIT) untuk menggunakan perilaku defaultnya, yang mencakup mengaktifkan pengoptimalan, menonaktifkan dukungan Edit dan Lanjutkan, dan menggunakan titik urutan penyimpanan simbol jika ada. Dimulai dengan .NET Framework versi 2.0, informasi pelacakan JIT, offset bahasa perantara (MSIL) Microsoft ke offset kode asli dalam metode, selalu dihasilkan. |
| IgnoreSymbolStoreSequencePoints | 2 | Gunakan titik urutan MSIL implisit, bukan titik urutan database program (PDB). Informasi simbolis biasanya mencakup setidaknya satu offset bahasa perantara (MSIL) Microsoft untuk setiap baris sumber. Ketika pengkompilasi just-in-time (JIT) akan mengkompilasi metode, ia meminta layanan pembuatan profil untuk daftar offset MSIL yang harus dipertahankan. Offset MSIL ini disebut titik urutan. |
| EnableEditAndContinue | 4 | Aktifkan edit dan lanjutkan. Edit dan lanjutkan memungkinkan Anda membuat perubahan pada kode sumber saat program Anda dalam mode jeda. Kemampuan untuk mengedit dan melanjutkan bergantung pada pengkompilasi. |
| DisableOptimizations | 256 | Nonaktifkan pengoptimalan yang dilakukan oleh pengkompilasi untuk membuat file output Anda lebih kecil, lebih cepat, dan lebih efisien. Pengoptimalan mengakibatkan penataan ulang kode dalam file output, yang dapat menyulitkan penelusuran kesalahan. Biasanya pengoptimalan harus dinonaktifkan saat penelusuran kesalahan. Di versi 2.0 atau yang lebih baru, gabungkan nilai ini dengan Default (Default | DisableOptimizations) untuk mengaktifkan pelacakan JIT dan menonaktifkan pengoptimalan. |
Keterangan
DebuggableAttribute.DebuggingModes Enumerasi menentukan bagaimana runtime adalah melacak informasi penting bagi debugger selama pembuatan kode. Informasi ini membantu debugger memberikan pengalaman penelusuran kesalahan yang kaya. Tidak seperti .NET Framework versi 1.1, versi 2.0 atau yang lebih baru tidak memungkinkan Anda menonaktifkan pelacakan oleh pengkompilasi just-in-time (JIT). Pelacakan JIT selalu diaktifkan untuk file yang dapat di-debug. Di versi 2.0 dan yang lebih baru, nilai enumerasi memiliki efek berikut.
| Mode penelusuran kesalahan | Result |
|---|---|
| Tidak | Pelacakan aktif, pengoptimalan JIT diaktifkan |
| Default | Pelacakan aktif, pengoptimalan JIT diaktifkan |
| DisableOptimizations | Pelacakan aktif, pengoptimalan JIT diaktifkan |
| Default | DisableOptimizations | Pelacakan aktif, pengoptimalan JIT dinonaktifkan |
Titik urutan digunakan untuk menunjukkan lokasi dalam kode bahasa perantara (MSIL) Microsoft yang diharapkan pengguna debugger dapat merujuk secara unik, seperti untuk mengatur titik henti. Pengkompilasi JIT memastikan tidak mengkompilasi MSIL pada dua titik urutan yang berbeda ke dalam satu instruksi asli. Secara default, pengkompilasi JIT memeriksa penyimpanan simbol dalam file database program (PDB) untuk daftar titik urutan tambahan. Namun, memuat file PDB mengharuskan file tersedia dan memiliki dampak performa negatif. Dimulai dengan versi 2.0, pengkompilasi dapat memancarkan "titik urutan implisit" dalam aliran kode MSIL melalui penggunaan instruksi MSIL "nop" . Pengkompilasi tersebut IgnoreSymbolStoreSequencePoints harus mengatur bendera untuk memberi tahu runtime bahasa umum untuk tidak memuat file PDB.
Note
Enumerasi ini terutama digunakan oleh pengembang bahasa. Ini umumnya tidak digunakan dalam pengembangan aplikasi. Lingkungan pengembangan digunakan DebuggableAttribute.DebuggingModes berdasarkan parameter pengkompilasi seperti /debug dan /optimize.