Bagikan melalui


Tentukan opsi debugger

Di Visual Studio, Anda dapat menentukan berbagai pengaturan untuk perilaku debugger, termasuk bagaimana variabel ditampilkan, apakah peringatan tertentu disajikan, bagaimana titik henti diatur, dan bagaimana pemecahan memengaruhi program yang sedang berjalan. Anda menentukan pengaturan debugger dari menuOpsi>.

Anda dapat memulihkan semua pengaturan default dengan Pengaturan > Impor dan Ekspor Alat > 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.

Mengatur opsi penelusuran kesalahan

  1. Buka panelOpsi> dan perluas bagianPenelusuran Kesalahan>.
  1. Buka dialogOpsi> dan perluas bagian Penelusuran Kesalahan.
  1. Pilih kategori opsi debug yang ingin Anda konfigurasi ulang, seperti Umum, Jendela Output, Simbol, dan sebagainya.

    Opsi yang paling umum terletak di kategori Umum . Untuk informasi selengkapnya, lihat Umum, Penelusuran Kesalahan, Opsi.

  2. Pilih atau hapus opsi atau opsi yang diinginkan. Jika diperlukan, pilih OK untuk menerapkan perubahan Anda.

Anda dapat menekan F1 untuk mendapatkan Bantuan tentang opsi.

Opsi debugger

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.

Putus saat pengecualian melintasi batas AppDomain atau batas terkelola/asli: Dalam penelusuran kesalahan mode terkelola atau campuran, runtime bahasa umum dapat menangkap pengecualian yang melintasi batas domain aplikasi atau batas terkelola/asli ketika tiga kondisi terpenuhi:

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

  • Kondisi 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.

  • Kondisi 3: Saat kode memanggil fungsi dengan menggunakan pantulan, dan fungsi tersebut melemparkan pengecualian. Lihat Refleksi.

  • Untuk kondisi 2 dan 3, pengecualian terkadang ditangani oleh kode terkelola mscorlib, bukan oleh Common Language Runtime. Opsi ini tidak memengaruhi pemrosesan pengecualian yang ditangani 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 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 Hanya Kode Saya: Debugger menampilkan dan langkah-langkah ke dalam kode pengguna ("Kode Saya") saja, mengabaikan kode sistem dan kode lain yang dioptimalkan atau yang 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 diunduh ke lokasi cache. Anda dapat mengubah lokasi cache di bagianLokasi Pencarian>> dengan simbol Cache dalam opsi direktori ini.

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 diunduh ke lokasi cache. Anda dapat mengubah lokasi cache di bagian Debugging>Simbol dengan opsi Cache simbol dalam direktori ini.

Secara otomatis mendeoptimasi fungsi yang di-debug jika memungkinkan (.Net 8+, C++ Dynamic Debugging): Saat dipilih, mendeoptimasi fungsi yang di-debug untuk pengalaman debugging yang lebih komprehensif.

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 mungkin memudahkan untuk men-debug beberapa masalah, meskipun dengan mengorbankan performa. Jika Anda menggunakan Just My Code, menekan pengoptimalan JIT dapat menyebabkan kode nonpengguna muncul sebagai kode pengguna ("Kode Saya"). Untuk informasi selengkapnya, lihat pengoptimalan dan penelusuran kesalahan JIT.

Mengonfigurasi penggunaan gambar yang telah dikompilasi sebelumnya (Hanya terkelola): Saat Anda memilih tautan ini, dialog Opsi Debugger Visual Studio terbuka. Untuk mengaktifkan opsi , pilih kotak centang Cegah penggunaan gambar yang telah dikompilasi sebelumnya pada beban modul , dan pilih OK. Saat dipilih, menonaktifkan pemuatan NGEN atau gambar yang sudah dimuat sebelumnya (RDR).

Cegah penggunaan gambar pra-kompilasi pada saat memuat modul (Hanya dikelola, reset saat restart): Saat dipilih, menonaktifkan pemuatan gambar pra-kompilasi NGEN atau siap dimuat (RDR).

Konfigurasi Just-in-Time Debugging: Saat Anda memilih tautan ini, dialog Opsi Debugger Visual Studio terbuka. Untuk mengaktifkan opsi , pilih kotak centang Aktifkan penelusuran kesalahan Just-in-Time untuk jenis kode ini . Pilih satu atau beberapa jenis kode: Asli dan Terkelola (.NET Framework), lalu pilih OK. Opsi ini memungkinkan debugging Just-in-Time untuk jenis kode yang telah dipilih.

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.

  • Memanggil fungsi konversi string pada objek di jendela variabel: 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 dapat 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 mengunduh file dengan 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.

Mengharuskan file sumber sama persis dengan versi asli: Memberi tahu debugger untuk memverifikasi bahwa file sumber cocok dengan versi kode sumber yang digunakan untuk membangun yang dapat dieksekusi yang Anda debug. Saat versi tidak cocok, Anda akan diminta untuk menemukan sumber yang cocok. Jika sumber yang cocok tidak ditemukan, kode sumber tidak ditampilkan selama debugging.

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.

Aktifkan penelusuran kesalahan JavaScript untuk ASP.NET (Chrome dan Edge): 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 penelusuran kesalahan JavaScript untuk ASP.NET (Chrome, 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.

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 dumpbin /exports output, Anda dapat melihat nama fungsi yang tepat, termasuk karakter nonalfanumerik. 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 paling dalam) di bagian atas. Untuk informasi selengkapnya, lihat dumpbin /exports.

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.

Peringatkan saat menggunakan visualizer debugger kustom pada proses yang berpotensi tidak aman (Hanya terkelola): Visual Studio memperingatkan Anda saat Anda menggunakan visualizer debugger kustom yang menjalankan kode dalam proses yang sedang didebug, 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 mempengaruhi kinerja debugging.

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

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

Aktifkan Hot Reload: Mengaktifkan fitur Hot Reload saat debugging.

  • Menerapkan perubahan secara otomatis saat melanjutkan (Hanya di lingkungan asli): Visual Studio secara otomatis mengkompilasi dan menerapkan perubahan kode yang belum diterapkan yang telah Anda buat ketika proses dilanjutkan dari keadaan berhenti sementara. 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.

Perlihatkan tombol Jalankan hingga Klik saat debugging: Saat opsi ini dipilih, tombol Jalankan hingga Klik 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.

Muat simbol debug dalam proses eksternal (Hanya untuk aplikasi native): Mengaktifkan pengoptimalan memori ini saat penelusuran kesalahan.

Memunculkan Visual Studio ke latar depan saat berhenti dalam debugger: Mengalihkan Visual Studio ke latar depan saat Anda berhenti dalam debugger.

Tetap buka tips data yang diperluas hingga diklik: Saat opsi ini dipilih, tip data yang diperluas tetap diperluas hingga Anda mengklik menjauhinya.

Aktifkan simpul Sumber Eksternal di Penjelajah Solusi: Saat dipilih, memperlihatkan kode yang didekompilasi di bawah simpul Sumber Eksternal.

Dekompilasi otomatis ke sumber saat diperlukan (Hanya terkelola): Ketika dipilih, secara otomatis mendekompilasi kode .NET eksternal saat masuk ke dalam kode eksternal.

Sorot pernyataan dan pernyataan saat ini dengan titik henti: Saat debugger menyoroti titik henti atau pernyataan saat ini, pernyataan tersebut menyoroti seluruh baris.

Tampilkan nilai variabel di dalam editor secara langsung saat pengembangan perangkat lunak: Menampilkan nilai variabel dalam pernyataan yang disorot di dalam debugger.

  • Perlihatkan nilai yang dikembalikan sebaris: Menampilkan nilai pengembalian untuk pernyataan yang disorot dalam debugger.

  • Perlihatkan nilai argumen fungsi sebaris: Menampilkan nilai untuk argumen fungsi dalam pernyataan yang disorot dalam debugger.

  • Perlihatkan nilai ekspresi baris saat ini sebaris: Menampilkan nilai untuk ekspresi dalam baris saat ini di debugger.

Opsi yang tersedia di versi Visual Studio yang lebih lama

Jika Anda menggunakan versi Visual Studio yang lebih lama, beberapa opsi lain 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.