Aplikasi C # desktop pada edisi ekspres berhasil maka tidak berfungsi 5 detik kemudian.
Saya mencoba yang berikut ini:
- Pastikan konfigurasi debug, tanda debug, dan info debug lengkap diatur di semua majelis.
- Hapus semua folder bin dan objek dan semua DLL yang terkait dengan proyek dari seluruh mesin saya.
- Buat kembali proyek yang menyebabkan masalah dari awal.
- Mulai ulang.
Saya memiliki dua proyek WinForms dalam solusinya. Salah satunya memuat info debug, satu tidak. Keduanya merujuk ke majelis yang saya coba dapatkan info debugnya dengan cara yang persis sama di file proyek. Ada ide?
Saya ingin menambahkan di sini, sebagian besar untuk diri saya sendiri ketika saya kembali untuk meninjau pertanyaan ini, bahwa simbol tidak dimuat sampai perakitan dimuat, dan perakitan tidak dimuat sampai diperlukan. Jika breakpoint ada di pustaka yang hanya digunakan dalam satu fungsi di rakitan utama Anda, simbol tidak akan dimuat (dan itu akan menunjukkan breakpoint tidak sedang dipukul) sampai fungsi itu dipanggil.
sumber
<DebugSymbols>true</DebugSymbols>
di dalam VS2015. Saya secara manual menambahkannya dan bekerja dengan baik.Jawaban:
Mulai debugging, segera setelah Anda tiba di breakpoint atau digunakan
Debug > Break All
, gunakanDebug > Windows > Modules
. Anda akan melihat daftar semua majelis yang dimuat ke dalam proses. Temukan yang Anda inginkan untuk mendapatkan informasi debug. Klik kanan dan pilih Symbol Load Information. Anda akan mendapatkan dialog yang mencantumkan semua direktori tempat mencari file .pdb untuk perakitan. Verifikasi daftar itu terhadap lokasi .pdb yang sebenarnya. Pastikan tidak menemukan yang lama.Dalam proyek normal, rakitan dan file .pdb-nya harus selalu disalin oleh IDE ke folder yang sama dengan .exe Anda. Folder bin \ Debug proyek Anda. Pastikan Anda menghapus satu dari GAC jika Anda telah bermain dengannya.
sumber
Pertama-tama coba membangun kembali proyek Anda dengan mengklik kanan proyek> Membangun kembali Jika itu tidak berhasil, coba bersihkan proyek (klik kanan pada proyek> bersih)
Jika tidak berhasil periksa ini:
(langkah 6 menghasilkan file .pdb, ini adalah simbol debugging)
sumber
Properties > Build > Optimize code
tidak dicentang .Hanya sesuatu yang sederhana untuk dicoba - Anda mungkin sudah mencobanya. Klik kanan Solusi dalam explorer solusi, klik "solusi bersih", ini menghapus semua file yang dikompilasi dan sementara yang terkait dengan solusi .
Lakukan pembangunan kembali solusi dan coba debug lagi.
Saya juga punya masalah dengan beberapa proyek breakpoints dalam solusi - beberapa dikompilasi sebagai x86, beberapa sebagai x64.
sumber
Nonaktifkan opsi "Just My Code" di pengaturan Debug / Umum.
sumber
Cross memposting perbaikan ini dari Hans K yang saya temukan di utas serupa >> DI SINI << :
sumber
Jawaban yang dipilih membuat saya memperbaiki masalah saya. Tetapi saya perlu melakukan beberapa hal lagi:
Bahkan dengan "Debug" dipilih di dropdown:
Dan dalam proyek Properties> Build:
Visual Studio tidak memuat simbol ke proyek tertentu. Jadi dalam dropdown itu saya memilih "Configuration Manager" dan melihat bahwa pengaturan untuk proyek web saya salah:
Lalu saya atur itu menjadi "Debug" dan mulai menghasilkan
.pdb
file. TETAPI saya perlu menyalin PDB dan DLL secara manual dan meletakkannya di folder yang dicari VS (di sinilah jawaban yang dipilih membantu saya):sumber
release
mode. Terima kasih !!Debug
>Windows
>Modules
Untuk melihat apa modul yang sedang dimuat menempatkan saya di arah yang benar.Dalam kasus saya, IIS Express tampaknya memuat DLL berbeda dari file ASP.NET sementara.
Solusinya?
C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs
sumber
Saya dapat memperbaiki kesalahan dengan hanya mengatur opsi di 'Lampirkan ke Proses' untuk 'Secara otomatis menentukan jenis kode untuk debug' pilihan seperti yang ditunjukkan pada screenshot terlampir.
Cukup ikuti langkah-langkah di bawah ini:
sumber
Kadang-kadang, meskipun itu memberi Anda kesalahan ini,
breakpoint
masih tertabrak, jadi abaikan saja kesalahannya. Ini cukup sering terjadi padaViews
suatuMVC web app
.sumber
Periksa apakah file .pbd Anda tidak ada di folder bin / Debug Anda. Jika kemudian pergi ke "Properties" dari proyek Anda, pilih "Build" dan kemudian "Advanced" di bagian bawah. Pilih "penuh" di bawah "Info debug" di jendela baru yang muncul. Ini adalah masalah saya dan menyelesaikannya untuk saya.
sumber
Dalam kasus saya "Kode Optimasi" diperiksa di properti proyek saya. Ini menyebabkan VS melihat perakitan saya "bukan kode saya", dan pada gilirannya, itu tidak memuat simbol untuk itu.
Solusinya adalah dengan menghapus centang ini.
sumber
Periksa apakah solusi Anda dalam Mode Rilis.
sumber
Coba jalankan visual studio sebagai administrator di dalam windows.
sumber
Dalam kasus saya, saya mencoba men-debug dalam mode relase. Setelah saya mengubahnya ke mode debug. Bekerja
sumber
Anda perlu mengaktifkan "Hasilkan info debug" di pengaturan kompiler
sumber
->
Opsi Debug->
Umum->
Hapus centang untuk "Enable Just My Code
"Ini berhasil untuk saya.
sumber
Kami menemukan penyebab masalah kami. Kode ini menggunakan atribut "CodeBehind" dalam direktif Halaman dari file .aspx alih-alih atribut "CodeFile" (ASP.NET 2.0 dan seterusnya). Setelah berhari-hari putus asa, pencarian dan penggantian yang sederhana memecahkan masalah.
sumber
Opsi "Mulai debugging, Debug + Windows + Modul" tidak ada di Microsoft Visual Studio Express 2013 edisi.
Hapus centang "Gunakan Mode Kompatibilitas Terkelola" di Opsi Alat. Perbaikan debugging ini.
sumber
Periksa daftar
Solution Configuration
drop-down Anda. Pastikan Anda memilihDebug
, bukanRelease
.sumber
Saya mencoba semua yang disebutkan di atas, tetapi tidak ada yang berhasil. [Bersihkan solusi, dan periksa file PDB dll.]
Bahkan menerbitkan solusi yang sama tidak menyelesaikan masalah.
Kemudian saya kembali ke apa yang biasanya saya lakukan untuk menyelesaikan (menipu Visual Studio keras kepala ini)
Yang saya lakukan hanyalah membuat perubahan kode yang disengaja dan menerbitkan solusinya. Kemudian saya mengembalikan perubahan dan menerbitkan lagi.
Voila [file PDB menghilangkan roh jahat] .. Bukan resolusi cerdas, tapi ini berhasil ..: - |
sumber
Hanya aplikasi web (IIS Express):
sumber
Tidak ada jawaban yang memecahkan masalah saya. Saya mencoba hal lain berdasarkan fakta bahwa proyek dengan berhenti sebenarnya bukan proyek dimuat. Saya menemukan ketika Hans Passant menulis bahwa .dll tempat saya ingin menghentikan debugger dan file .pdb yang dikaitkan di mana disalin dekat file .exe. File-file itu memiliki tanggal yang lebih lama jadi saya pikir mereka tidak diperbarui dalam runtime. Saya secara manual menghapusnya, Visual Studio membuat pasangan lain DAN menempatkan pasangan baru ini di dekat .exe. Sekarang breakpoins bekerja!
Mungkin Visual Studio tidak dapat menyalin dan MENGGANTI file yang ada (.dll dan .pdb) di dekat .exe karena ada yang lain di sana. Jadi jika saya menghapus secara manual maka VS dapat membuat yang baru di dekat .exe.
Saya pikir perubahan lain (cek dan sebagainya - dari jawaban lain) memicu sesuatu dan Visual Studio menyalin dan mengganti dll dan pdb dari folder proyek ke folder dekat exe, jadi itu solusi.
Saya pikir bahwa akar penyebab masalah adalah bahwa Visual Studio menggunakan file lain di runtime, tidak ada file dari proyek, dengan berhenti.
Mungkin jawaban ini untuk membantu seseorang!
sumber
Hal-hal yang perlu diperiksa hanya untuk menjadi jelas: Pastikan Anda memiliki konfigurasi diatur ke 'Debug' dan bukan 'Lepaskan'. Anda dapat men-debug proyek startup dalam mode 'Rilis', tetapi bukan perpustakaan kelas yang dirujuk.
sumber
Project Properties (lalu pilih konfigurasi build Anda)> Build Tab> Advanced ...> Info Debug (dropdown)
Setel ke 'semua' atau 'hanya pdb' lalu bangun kembali
sumber
Alih-alih melakukan semua hal ini dengan adil
Tutup dan buka kembali
solusi itu akan memperbaiki masalah
sumber
Saya memiliki masalah serupa dan saya melakukan yang berikut: Debug => Opsi => Umum => Hapus tanda centang untuk "Aktifkan Just My Code" Ini bekerja untuk saya ..
sumber
Saya butuh waktu beberapa saat untuk mencoba opsi lain di atas dan untuk beberapa alasan aneh debugging berhenti berfungsi.
sumber
sumber
Periksa apakah dua pengaturan berikut sama di Visual Studio:
Proyek uji klik kanan, pergi ke Properties, tab Build, dan lihat target Platform
Milik saya semua diatur ke "Any CPU" jadi x64
Pada bilah Menu Utama, buka Tes, Pengaturan Tes, Arsitektur Prosesor Default
Milik saya diatur ke X86
Mengubah ini ke X64 untuk mencocokkan pengaturan di atas membuat built in menu Visual Studio "Debug Test (s)" bekerja dan tekan breakpoints yang sebelumnya diabaikan dengan pesan "Breakpoint saat ini tidak akan terkena. Tidak ada simbol yang dimuat untuk dokumen ini ”.
Memperbarui:
Untuk Visual Studio 2019 menu telah dipindahkan sedikit:
sumber
Saya tahu saya terlambat beberapa tahun, tetapi saya pikir saya telah melakukan sesuatu yang salah dan mengikuti langkah-langkah di atas kemudian saya menyadari bahwa saya akan mengatur konfigurasi solusi menjadi 'Rilis' karena kesalahan :)
sumber