Mengumpulkan cadangan saat crash
Mengonfigurasi aplikasi Anda untuk mengumpulkan cadangan saat crash dilakukan dengan mengatur variabel lingkungan tertentu. Ini sangat membantu ketika Anda ingin mendapatkan pemahaman tentang mengapa crash terjadi. Misalnya, menangkap cadangan saat pengecualian dilemparkan membantu Anda mengidentifikasi masalah dengan memeriksa status aplikasi saat mengalami crash.
Tabel berikut menunjukkan variabel lingkungan yang dapat Anda konfigurasi untuk mengumpulkan cadangan pada crash.
Variabel lingkungan | Deskripsi | Nilai default |
---|---|---|
COMPlus_DbgEnableMiniDump atau DOTNET_DbgEnableMiniDump |
Jika diatur ke 1, aktifkan pembuatan core dump. | 0 |
COMPlus_DbgMiniDumpType atau DOTNET_DbgMiniDumpType |
Jenis cadangan yang akan dikumpulkan. Untuk informasi selengkapnya, lihat Jenis cadangan mini. | 2 (Heap ) |
COMPlus_DbgMiniDumpName atau DOTNET_DbgMiniDumpName |
Jalur ke file untuk menulis cadangan. Pastikan bahwa pengguna tempat proses dotnet berjalan memiliki izin tulis ke direktori yang ditentukan. | /tmp/coredump.<pid> |
COMPlus_CreateDumpDiagnostics atau DOTNET_CreateDumpDiagnostics |
Jika diatur ke 1, memungkinkan pembuatan log diagnostik proses cadangan. | 0 |
COMPlus_EnableCrashReport atau DOTNET_EnableCrashReport |
(Memerlukan .NET 6 atau yang lebih baru; tidak didukung pada Windows.) Jika diatur ke 1, runtime menghasilkan laporan crash berformat JSON yang menyertakan informasi tentang utas dan bingkai tumpukan aplikasi yang mengalami crash. Nama laporan crash adalah jalur atau nama cadangan dengan .crashreport.json ditambahkan. |
|
COMPlus_CreateDumpVerboseDiagnostics atau DOTNET_CreateDumpVerboseDiagnostics |
(Memerlukan .NET 7 atau yang lebih baru.) Jika diatur ke 1, mengaktifkan pengelogan diagnostik verbose dari proses cadangan. |
0 |
COMPlus_CreateDumpLogToFile atau DOTNET_CreateDumpLogToFile |
(Memerlukan .NET 7 atau yang lebih baru.) Jalur file tempat pesan diagnostik harus ditulis. |
Jika tidak diatur, pesan diagnostik ditulis ke konsol aplikasi yang mengalami crash. |
Catatan
.NET 7 menstandarkan pada awalan DOTNET_
alih-alih COMPlus_
untuk variabel lingkungan ini. Namun, prefiks COMPlus_
akan terus berfungsi. Jika Anda menggunakan versi runtime .NET sebelumnya, Anda masih harus menggunakan prefiks COMPlus_
untuk variabel lingkungan.
Templat jalur file
Mulai dari .NET 5, DOTNET_DbgMiniDumpName
juga dapat menyertakan penentu templat pemformatan yang akan diisi secara dinamis:
Penentu | Nilai |
---|---|
%% | Satu karakter % |
%p | PID dari proses yang dicadangkan |
%e | Nama file yang dapat dieksekusi proses |
%h | Nama host dikembalikan oleh gethostname() |
%t | Waktu pencadangan, dinyatakan sebagai detik sejak Epoch, 1970-01-01 00:00:00 +0000 (UTC) |
Jenis cadangan mini
Tabel berikut ini memperlihatkan semua nilai yang bisa Anda gunakan untuk DOTNET_DbgMiniDumpType
. Misalnya, pengaturan DOTNET_DbgMiniDumpType
ke 1 berarti Mini
jenis dump akan dikumpulkan pada crash.
Nilai | Nama | Deskripsi |
---|---|---|
1 | Mini |
Cadangan kecil yang berisi daftar modul, daftar utas, informasi pengecualian, dan semua tumpukan. |
2 | Heap |
Cadangan besar dan relatif komprehensif yang berisi daftar modul, daftar utas, semua tumpukan, informasi pengecualian, menangani informasi, dan semua memori kecuali untuk gambar yang dipetakan. |
3 | Triage |
Sama seperti Mini , tetapi menghapus informasi pengguna pribadi, seperti jalur dan kata sandi. |
4 | Full |
Cadangan terbesar yang berisi semua memori termasuk gambar modul. |
Hanya cadangan penuh yang didukung oleh model aplikasi AOT file tunggal dan Asli.