Bagikan melalui


Opsi penelusuran kesalahan umum

Untuk mengatur opsi debugger Visual Studio, pilih Alat>Opsi, dan di bawah Debugging pilih atau batal pilih kotak di samping opsi Umum. Anda dapat memulihkan semua pengaturan default dengan Alat>Pengaturan Impor dan Ekspor>Reset semua pengaturan. Untuk mereset subset pengaturan, simpan pengaturan Anda dengan Wizard Pengaturan Impor dan Ekspor sebelum membuat perubahan yang ingin Anda uji, lalu impor pengaturan tersimpan setelahnya.

Anda bisa mengatur opsi Umum berikut ini:

Tanyakan sebelum menghapus semua titik henti: Memerlukan konfirmasi sebelum menyelesaikan perintah Hapus Semua Titik Henti.

Memutus semua proses ketika satu proses mengalami kegagalan: Secara bersamaan memutus semua proses yang terhubung dengan debugger, ketika pemutusan terjadi.

Berhenti saat pengecualian melintasi AppDomain atau batas terkelola/asli: Dalam debugging mode terkelola atau campuran, runtime bahasa umum dapat menangkap pengecualian yang melintasi batas domain aplikasi atau batas terkelola/asli ketika kondisi berikut terpenuhi:

  1. Saat kode asli memanggil kode terkelola dengan menggunakan COM Interop dan kode terkelola melemparkan pengecualian. Lihat Pengantar ke COM Interop.

  2. Saat kode terkelola yang berjalan di domain aplikasi 1 memanggil kode terkelola di domain aplikasi 2, dan kode di domain aplikasi 2 melemparkan pengecualian. Lihat Pemrograman dengan domain aplikasi.

  3. Ketika kode memanggil fungsi dengan menggunakan pantulan, dan fungsi tersebut melemparkan pengecualian. Lihat Refleksi.

Dalam kondisi 2 dan 3, pengecualian terkadang ditangkap oleh kode yang dikelola dalam mscorlib daripada oleh bahasa runtime umum. Opsi ini tidak memengaruhi melanggar pengecualian yang ditangkap oleh mscorlib.

Aktifkanpenelusuran kesalahan tingkat alamat : Mengaktifkan fitur lanjutan untuk penelusuran kesalahan di tingkat alamat (jendela Disassembly, jendela Mendaftarkan, dan titik henti alamat).

  • Tampilkan pembongkaran jika sumber tidak tersedia: Secara otomatis menampilkan jendela Disassembly saat Anda men-debug kode yang sumbernya tidak tersedia.

Mengaktifkan filter titik henti: Memungkinkan Anda mengatur filter pada titik henti sehingga hanya akan memengaruhi proses, utas, atau komputer tertentu.

GunakanPembantu Pengecualian baru : Mengaktifkan Pembantu Pengecualian yang menggantikan asisten pengecualian. (Pembantu Pengecualian didukung mulai dari Visual Studio 2017)

Nota

Untuk kode terkelola, opsi ini sebelumnya disebut Aktifkan asisten pengecualian .

Aktifkan Just My Code: Debugger menampilkan dan melangkah ke kode pengguna ("Kode Saya") saja, mengabaikan kode sistem dan kode lain yang dioptimalkan atau tidak memiliki simbol debugging.

  • Peringatkan jika tidak ada kode pengguna saat diluncurkan (Hanya Terkelola): Saat penelusuran kesalahan dimulai dengan Just My Code diaktifkan, opsi ini memperingatkan Anda jika tidak ada kode pengguna ("Kode Saya").

Mengaktifkan langkah sumber .NET Framework: Memungkinkan debugger untuk masuk ke sumber .NET Framework. Mengaktifkan opsi ini secara otomatis menonaktifkan Just My Code. Simbol .NET Framework akan diunduh ke lokasi cache. Ubah lokasi cache dengan kotak dialog Opsi, kategori Penelusuran Kesalahan, halaman Simbol.

Langkahi properti dan operator (Hanya terkelola): Mencegah debugger melangkah ke properti dan operator dalam kode terkelola.

Aktifkan evaluasi properti dan panggilan fungsi implisit lainnya: Mengaktifkan evaluasi otomatis properti dan panggilan fungsi implisit di jendela variabel dan kotak dialog QuickWatch.

  • Fungsi konversi string panggilan pada objek di jendela variabel (hanya C# dan JavaScript): Menjalankan panggilan konversi string implisit saat mengevaluasi objek di jendela variabel. Hasilnya ditampilkan sebagai string, bukan nama jenis. Hanya berlaku saat penelusuran kesalahan dalam kode C#. Pengaturan ini mungkin diambil alih oleh atribut DebuggerDisplay (lihat Menggunakan atribut DebuggerDisplay).

Mengaktifkan dukungan server sumber: Memberi tahu debugger Visual Studio untuk mendapatkan file sumber dari server sumber yang menerapkan protokol SrcSrv (srcsrv.dll). Team Foundation Server dan Alat Debugging untuk Windows adalah dua server sumber yang menerapkan protokol. Untuk informasi selengkapnya tentang penyiapan SrcSrv, lihat dokumentasi SrcSrv. Selain itu, lihat Tentukan simbol (.pdb) dan file sumber.

Penting

Karena membaca file .pdb dapat menjalankan kode arbitrer dalam file, pastikan Anda mempercayai server.

  • Mencetak pesan diagnostik server sumber ke jendela Output: Saat dukungan server sumber diaktifkan, pengaturan ini mengaktifkan tampilan diagnostik.

  • Izinkan server sumber untuk rakitan kepercayaan parsial (Hanya terkelola): Ketika dukungan server sumber diaktifkan, pengaturan ini mengambil alih perilaku default untuk tidak mengambil sumber untuk rakitan kepercayaan parsial.

  • Selalu jalankan perintah server sumber yang tidak tepercaya tanpa meminta: Ketika dukungan server sumber diaktifkan, pengaturan ini mengambil alih perilaku default yang diminta saat menjalankan perintah yang tidak tepercaya.

Mengaktifkan dukungan Source Link: Memberi tahu debugger Visual Studio untuk mengunduh file sumber untuk file .pdb yang berisi informasi Tautan Sumber. Untuk informasi selengkapnya tentang Tautan Sumber, lihat spesifikasi tautan Sumber .

Penting

Karena Source Link akan mengunduh file menggunakan http atau https, pastikan Anda mempercayai file .pdb.

  • Kembali ke autentikasi Git Credential Manager untuk semua permintaan Tautan Sumber: Saat dukungan Tautan Sumber diaktifkan, dan permintaan Tautan Sumber gagal autentikasi, Visual Studio kemudian memanggil Git Credential Manager.

Sorot seluruh baris sumber untuk titik henti dan pernyataan saat ini (hanya C++): Saat debugger menyoroti titik henti atau pernyataan saat ini, itu menyoroti seluruh baris.

Memerlukan file sumber agar sama persis dengan versi asli: Memberi tahu debugger untuk memverifikasi bahwa file sumber cocok dengan versi kode sumber yang digunakan untuk membangun executable yang Anda debugging. Saat versi tidak cocok, Anda akan diminta untuk menemukan sumber yang cocok. Jika sumber yang cocok tidak ditemukan, kode sumber tidak akan ditampilkan selama pemecahan masalah.

Alihkan semua teks jendela Output ke jendela Langsung: Mengirim semua pesan debugger yang biasanya akan muncul di jendela Output ke jendela langsung sebagai gantinya.

Tampilkan struktur mentah objek di jendela variabel: Menonaktifkan semua kustomisasi tampilan struktur objek. Untuk informasi selengkapnya tentang menampilkan kustomisasi, lihat Membuat tampilan kustom objek terkelola.

Menghentikan pengoptimalan JIT pada load modul (Hanya untuk kode terkelola): Menonaktifkan pengoptimalan JIT kode terkelola saat modul dimuat dan JIT dikompilasi saat debugger terpasang. Menonaktifkan pengoptimalan dapat memudahkan untuk men-debug beberapa masalah, meskipun dengan mengorbankan performa. Jika Anda menggunakan Just My Code, menekan pengoptimalan JIT dapat menyebabkan kode non-pengguna muncul sebagai kode pengguna ("Kode Saya"). Untuk informasi selengkapnya, lihat pengoptimalan dan penelusuran kesalahan JIT.

Mengaktifkan debug JavaScript untuk ASP.NET (Chrome, Microsoft Edge, dan IE): Mengaktifkan debugger skrip untuk aplikasi ASP.NET. Pada penggunaan pertama di Chrome, Anda mungkin perlu masuk ke browser untuk mengaktifkan ekstensi Chrome yang telah Anda instal. Nonaktifkan opsi ini untuk kembali ke perilaku warisan.

Aktifkan menggunakan debugger JavaScript multi-target untuk men-debug JavaScript di target yang berlaku (memerlukan debugging restart) Mengaktifkan koneksi ke browser dan back-end secara bersamaan, memungkinkan Anda untuk men-debug kode Anda yang berjalan di klien dan server langsung dari editor.

Memuat ekspor dll (Hanya versi asli): Memuat tabel ekspor dll. Informasi simbol dari tabel ekspor dll dapat berguna jika Anda bekerja dengan pesan Windows, prosedur Windows (WindowProcs), objek COM, atau marshaling, atau dll apa pun yang tidak Anda miliki simbolnya. Membaca informasi ekspor DLL melibatkan beberapa overhead. Oleh karena itu, kemampuan ini dinonaktifkan secara default.

Untuk melihat simbol apa yang tersedia dalam tabel ekspor dll, gunakan dumpbin /exports. Simbol tersedia untuk dll sistem 32-bit apa pun. Dengan membaca output dumpbin /exports, Anda dapat melihat nama fungsi yang tepat, termasuk karakter non-alfanumerik. Ini berguna untuk mengatur titik henti pada fungsi. Nama fungsi dari tabel ekspor dll mungkin muncul terpotong di tempat lain dalam debugger. Panggilan tercantum dalam urutan panggilan, dengan fungsi saat ini (yang terdalam) di bagian atas. Untuk informasi selengkapnya, lihat dumpbin /exports.

Tampilkan diagram tumpukan paralelbawah ke atas : Mengontrol arah di mana tumpukan ditampilkan di jendela Tumpukan Paralel.

Abaikan pengecualian akses memori GPU jika data yang ditulis tidak mengubah nilai: Mengabaikan kondisi race yang terdeteksi selama debugging jika data tidak berubah. Untuk informasi selengkapnya, lihat Pemecahan Kesalahan Kode GPU.

Gunakan Mode Kompatibilitas Terkelola: Mengganti mesin debugging default dengan versi lama untuk mengaktifkan skenario ini:

  • Anda menggunakan bahasa .NET selain C#, Visual Basic, atau F# yang menyediakan Evaluator Ekspresi sendiri (ini termasuk C++/CLI).

  • Anda ingin mengaktifkan Edit dan Lanjutkan untuk proyek C++ selama debugging mode campuran.

Nota

Memilih mode Kompatibilitas Terkelola menonaktifkan beberapa fitur yang hanya diimplementasikan di mesin debugging default. Mesin debugging warisan digantikan di Visual Studio 2012.

Peringatan saat menggunakan visualizer debugger kustom terhadap proses yang berpotensi tidak aman (Hanya untuk kode terkelola): Visual Studio memperingatkan Anda saat Anda menggunakan visualizer debugger kustom yang menjalankan kode dalam proses yang sedang di-debug, karena dapat menjalankan kode yang tidak aman.

Aktifkan alokator heap debug Windows (Hanya untuk aplikasi asli): Memungkinkan heap debug Windows untuk meningkatkan diagnostik heap. Mengaktifkan opsi ini akan memengaruhi performa debug.

Aktifkan Alat Debugging UI untuk XAML: Pohon Visual Langsung dan jendela Jelajahi Properti Langsung akan muncul saat Anda mulai men-debug (F5) jenis proyek yang didukung. Untuk informasi selengkapnya, lihat memeriksa properti XAML saat melakukan debugging.

  • Pratinjau elemen yang dipilih di Live Visual Tree: Elemen XAML yang konteksnya sudah dipilih juga akan dipilih di jendela Pohon Visual Langsung.

  • Tampilkan alat runtime dalam aplikasi: Menampilkan perintah Live Visual Tree di toolbar di jendela utama aplikasi XAML yang sedang di-debug.

  • Aktifkan XAML Hot Reload: Memungkinkan Anda menggunakan fitur XAML Hot Reload dengan kode XAML saat aplikasi Anda berjalan. (Fitur ini sebelumnya disebut "XAML Edit and Continue")

  • AktifkanJust My XAML: Mulai visual Studio 2019 versi 16.4, Live Visual Tree secara default hanya menampilkan XAML yang diklasifikasikan sebagai kode pengguna. Jika Anda menonaktifkan opsi ini, semua kode XAML yang dihasilkan ditampilkan dalam alat.

  • Nonaktifkan mode pilihan saat elemen dipilih Mulai Visual Studio 2019 versi 16.4, tombol pemilih elemen toolbar dalam aplikasi (Aktifkan pilihan) dinonaktifkan saat elemen dipilih. Jika Anda menonaktifkan opsi ini, pilihan elemen tetap aktif hingga Anda mengklik tombol toolbar dalam aplikasi lagi.

  • Terapkan XAML Hot Reload pada penyimpanan dokumen Mulai Visual Studio 2019 versi 16.6, menerapkan XAML Hot Reload saat Anda menyimpan dokumen Anda.

Aktifkan Alat Diagnostik saat menelusuri kesalahan: Jendela Alat Diagnostik muncul saat Anda sedang menelusuri kesalahan.

Tampilkan PerfTip untuk waktu berlalu saat debugging: Jendela kode menampilkan waktu berlalu untuk panggilan suatu metode saat Anda melakukan debugging.

Aktifkan Edit dan Lanjutkan: Mengaktifkan fungsionalitas Edit dan Lanjutkan saat penelusuran kesalahan.

  • Aktifkan Edit and Continue: Anda dapat menggunakan fungsionalitas Edit and Continue saat melakukan debugging kode C++ native. Untuk informasi selengkapnya, lihat Edit dan Lanjutkan (C++).

  • Terapkan perubahan saat melanjutkan (untuk program asli saja): Visual Studio secara otomatis mengkompilasi dan menerapkan perubahan kode yang belum diterapkan yang telah Anda buat saat melanjutkan proses dari keadaan jeda. Jika tidak dipilih, Anda dapat memilih untuk menerapkan perubahan menggunakan item Terapkan Perubahan Kode di bawah menu Debug.

  • Peringatkan tentang kode basi (Hanya untuk kode asli): Dapatkan peringatan tentang kode basi.

Tampilkan tombol Jalankan hingga Klik di editor saat debugging: Saat opsi ini dipilih, tombol Jalankan hingga Klik akan ditampilkan saat debugging.

Menutup konsol secara otomatis saat penelusuran kesalahan berhenti: Memberi tahu Visual Studio untuk menutup konsol di akhir sesi penelusuran kesalahan.

Aktifkan evaluasi ekspresi cepat (Hanya terkelola): Memungkinkan debugger untuk mencoba evaluasi yang lebih cepat dengan mensimulasikan eksekusi properti dan metode sederhana.

Memuat simbol debug dalam proses eksternal (Hanya untuk aplikasi asli) Mengaktifkan pengoptimalan memori ini saat penelusuran kesalahan.

Bawa Visual Studio ke latar depan saat berhenti di debugger Memindahkan Visual Studio ke latar depan saat berhenti di debugger.

Jaga tips data yang diperluas tetap terbuka hingga diklik Saat opsi ini dipilih, tips data yang diperluas akan tetap terbuka hingga Anda mengklik di luar area tersebut.

Opsi yang tersedia di versi Visual Studio yang lebih lama

Jika Anda menggunakan versi Visual Studio yang lebih lama, beberapa opsi tambahan mungkin ada.

Aktifkan Alat Pengembang Edge untuk aplikasi JavaScript UWP (Eksperimental): Mengaktifkan alat pengembang untuk aplikasi JavaScript UWP di Microsoft Edge.

Aktifkan debugger Chrome JavaScript warisan untuk ASP.NET: Mengaktifkan debugger skrip JavaScript Chrome warisan untuk aplikasi ASP.NET. Pada penggunaan pertama di Chrome, Anda mungkin perlu masuk ke browser untuk mengaktifkan ekstensi Chrome yang telah Anda instal.

Aktifkan asisten pengecualian: Untuk kode terkelola, mengaktifkan asisten pengecualian. Mulai Visual Studio 2017, Pembantu Pengecualian menggantikan asisten pengecualian.

Urungkan tumpukan panggilan pada pengecualian yang tidak tertangani: Akan mengembalikan jendela Call Stack ke titik sebelum pengecualian yang tidak tertangani terjadi.

Gunakan cara eksperimental untuk meluncurkan debugging JavaScript Chrome ketika menjalankan Visual Studio sebagai Administrator: Memberi tahu Visual Studio untuk mencoba cara baru meluncurkan Chrome selama debugging JavaScript.

Peringatkan jika tidak ada simbol saat peluncuran (khusus untuk versi asli): Menampilkan kotak dialog peringatan saat Anda men-debug program yang tidak memiliki informasi simbol untuk debugger.

Peringatkan jika debugging skrip dinonaktifkan saat diluncurkan: Menampilkan kotak dialog peringatan saat debugger diluncurkan dengan debugging skrip dinonaktifkan.

Gunakan Mode Kompatibilitas Terkelola: Saat opsi ini dipilih, debugger menggunakan debugger terkelola Visual Studio 2010, yang diperlukan saat Anda men-debug kode C++/CLI.

Gunakan Mode Kompatibilitas Asli: Saat opsi ini dipilih, debugger menggunakan debugger asli Visual Studio 2010 alih-alih debugger asli baru.

  • Gunakan opsi ini saat Anda men-debug kode .NET C++, karena mesin penelusuran kesalahan baru tidak mendukung evaluasi ekspresi .NET C++. Namun, mengaktifkan Mode Kompatibilitas Asli menonaktifkan banyak fitur yang bergantung pada implementasi debugger saat ini untuk beroperasi. Misalnya, mesin warisan tidak memiliki banyak visualizer untuk jenis bawaan seperti std::string dalam proyek Visual Studio 2015. Gunakan proyek Visual Studio 2013 untuk pengalaman debugging yang optimal dalam kasus ini.

Lihat juga