File cadangan di debugger Visual Studio
File cadangan adalah rekam jepret yang menunjukkan proses yang dijalankan dan modul yang dimuat untuk aplikasi pada titik waktu tertentu. Cadangan dengan informasi timbunan juga menyertakan rekam jepret memori aplikasi pada saat itu.
Membuka file cadangan dengan tumpukan di Visual Studio adalah seperti berhenti pada titik henti dalam sesi debug. Meskipun Anda tidak dapat melanjutkan eksekusi, Anda dapat memeriksa tumpukan, utas, dan nilai variabel aplikasi pada saat pembuangan.
Cadangan sebagian besar digunakan untuk men-debug masalah dari komputer yang tidak dapat diakses pengembang. Anda dapat menggunakan file cadangan dari komputer pelanggan ketika Anda tidak dapat mereproduksi crash atau program yang tidak responsif di komputer Anda sendiri. Penguji juga membuat cadangan untuk menyimpan crash atau data program yang tidak responsif untuk digunakan untuk pengujian lebih lanjut.
Debugger Visual Studio dapat menyimpan file cadangan untuk kode terkelola atau asli. Ini dapat men-debug file cadangan yang dibuat oleh Visual Studio atau oleh aplikasi lain yang menyimpan file dalam format minidump.
Persyaratan dan batasan
- Untuk men-debug file cadangan dari komputer 64-bit, Visual Studio harus berjalan pada komputer 64-bit.
- Visual Studio dapat men-debug file cadangan aplikasi terkelola dari OS Linux.
- Visual Studio dapat men-debug file cadangan aplikasi asli dari perangkat ARM. Ini juga dapat men-debug cadangan aplikasi terkelola dari perangkat ARM, tetapi hanya di debugger asli.
- Untuk men-debug file cadangan mode kernel atau menggunakan ekstensi penelusuran kesalahanSOS.dll di Visual Studio, unduh alat penelusuran kesalahan untuk Windows di Windows Driver Kit (WDK).
- Visual Studio tidak dapat men-debug file cadangan yang disimpan dalam format cadangan mode pengguna penuh yang lebih lama. Cadangan mode pengguna penuh tidak sama dengan cadangan dengan timbunan.
- Men-debug file cadangan kode yang dioptimalkan bisa membingungkan. Misalnya, pengkompilasi inlining fungsi dapat mengakibatkan tumpukan panggilan yang tidak terduga, dan pengoptimalan lainnya dapat mengubah masa pakai variabel.
File cadangan dengan atau tanpa timbunan
File cadangan mungkin atau mungkin tidak memiliki informasi timbunan.
File cadangan dengan tumpukan berisi rekam jepret memori aplikasi, termasuk nilai variabel, pada saat pembuangan. Visual Studio juga menyimpan biner modul asli yang dimuat dalam file cadangan dengan timbunan, yang dapat membuat penelusuran kesalahan jauh lebih mudah. Visual Studio dapat memuat simbol dari file cadangan dengan tumpukan, meskipun tidak dapat menemukan biner aplikasi.
File cadangan tanpa tumpukan jauh lebih kecil daripada cadangan dengan timbunan, tetapi debugger harus memuat biner aplikasi untuk menemukan informasi simbol. Biner yang dimuat harus sama persis dengan yang berjalan selama pembuatan cadangan. File cadangan tanpa timbunan hanya menyimpan nilai variabel tumpukan.
Buat file cadangan
Saat men-debug proses di Visual Studio, Anda dapat menyimpan file cadangan saat debugger berhenti pada pengecualian atau titik henti.
Dengan Mengaktifkan Debugging Just-In-Time, Anda dapat melampirkan debugger Visual Studio ke proses yang mengalami crash di luar Visual Studio, lalu menyimpan file cadangan dari debugger. LihatLampirkan ke Proses yang Berjalan.
Untuk menyimpan file cadangan:
Saat berhenti pada kesalahan atau titik henti selama penelusuran kesalahan, pilihDebug>Simpan Cadangan Sebagai.
Dalam dialog Simpan Cadangan Sebagai, di bawah Simpan sebagai jenis, pilih Minidump atau Minidump dengan Heap (default).
Telusuri ke jalur dan pilih nama untuk file cadangan, lalu pilih Simpan.
Catatan
Anda dapat membuat file cadangan dengan program apa pun yang mendukung format minidump Windows. Misalnya, utilitas baris perintah Procdump dari Windows Sysinternals dapat membuat file crash dump proses berdasarkan pemicu atau sesuai permintaan. Lihat Persyaratan dan batasan untuk informasi tentang menggunakan alat lain untuk membuat file cadangan.
Buka file cadangan
Di Visual Studio, pilih File>Buka>File.
Dalam dialog Buka File, temukan dan pilih file cadangan. Biasanya akan memiliki ekstensi .dmp. Pilih OK.
Jendela Ringkasan File Minidump menunjukkan ringkasan dan informasi modul untuk file cadangan, dan tindakan yang dapat Anda lakukan.
Di bawah Tindakan:
- Untuk mengatur lokasi pemuatan simbol, pilih Atur jalur simbol.
- Untuk memulai penelusuran kesalahan, pilih Debug dengan Hanya Terkelola, Debug dengan Campuran, Debug dengan Hanya Asli, atau Debug Memori Terkelola. Untuk menganalisis memori terkelola, lihat Laporan jenis terkelola.
- Untuk mendapatkan analisis memori pada cadangan, pilih Jalankan Analisis Diagnostik dan lihat Men-debug cadangan memori terkelola dengan .NET Diagnostic Analyzers.
Temukan file .exe, .pdb, dan sumber
Untuk menggunakan fitur penelusuran kesalahan lengkap pada file cadangan, Visual Studio perlu:
- File .exe tempat cadangan dibuat, dan biner lain (seperti DLL) yang digunakan proses cadangan.
- File simbol (.pdb) untuk .exe dan biner lainnya.
- File .exe dan .pdb yang sama persis dengan versi dan build file saat pembuatan cadangan.
- File sumber untuk modul yang relevan. Anda dapat menggunakan pembongkaran modul jika Anda tidak dapat menemukan file sumber.
Jika cadangan memiliki data tumpukan, Visual Studio dapat mengatasi biner yang hilang untuk beberapa modul, tetapi harus memiliki biner untuk modul yang cukup untuk menghasilkan tumpukan panggilan yang valid.
Jalur pencarian untuk file .exe
Visual Studio secara otomatis mencari lokasi ini untuk file.exe yang tidak disertakan dalam file cadangan:
- Folder yang berisi file cadangan.
- Jalur modul yang ditentukan file cadangan, yang merupakan jalur modul pada komputer yang mengumpulkan cadangan.
- Jalur simbol yang ditentukan dalamSimbolDebugging>Opsi>Alat (atau >Debug). Anda juga dapat membuka halaman Simbol dari panel Tindakan dari jendela Ringkasan File Cadangan. Pada halaman ini, Anda dapat menambahkan lebih banyak lokasi untuk dicari.
Gunakan halaman Tanpa Biner, Tanpa Simbol, atau Tidak Ada Sumber ditemukan
Jika Visual Studio tidak dapat menemukan file yang diperlukan untuk men-debug modul di cadangan, itu menunjukkan halaman Tidak Ditemukan Biner, Tidak Ada Simbol Ditemukan, atau Tidak Ada Sumber Yang Ditemukan. Halaman ini memberikan informasi terperinci tentang penyebab masalah, dan menyediakan tautan tindakan yang dapat membantu Anda menemukan file. Lihat Tentukan simbol (.pdb) dan file sumber.