Proyek Visual Studio 2015 tidak lagi berjalan dalam mode debug

95

Inilah yang saya dapatkan bahkan ketika saya menjalankan konfigurasi Debug:

Cara saya menunjukkan ini adalah dengan mengaktifkan "Just My Code" dan memperingatkan jika tidak ada kode pengguna saat peluncuran. Ini adalah sesuatu yang baru-baru ini terjadi pada proyek kami, dan saya tidak yakin apa yang kami lakukan untuk menyebabkan ini. Tetapi saya tidak dapat memperbaikinya. Breakpoint tidak akan menyala dan jam tangan cepat memberikan hasil yang aneh.

Saya sudah mencoba mencari masalah di Google, tetapi tidak ada solusi standar "break point tidak akan menyala" yang berhasil. Saya kehabisan ide.

Saya telah memeriksa manajer konfigurasi dan setiap proyek juga diatur ke Debug di sana juga.

Masukkan deskripsi gambar di sini

Saya menonaktifkan "Aktifkan Pengoptimalan", dan saya tidak lagi mendapatkan dialog "Anda sedang men-debug Rilis build". Ini berjalan dan berhenti di breakpoint lagi! Namun jendela keluaran menampilkan ini saat start up:

Simbol untuk modul 'Navigo.exe' tidak dimuat.

  1. Gunakan konfigurasi build debug atau nonaktifkan opsi debug 'Enable Just My Code'.
  2. Periksa pengaturan 'Simbol' di bawah opsi debugging.

Jadi ini memecahkan masalah utama saya karena tidak lagi dapat menggunakan breakpoint dan popup. Yang aneh karena saya pikir Anda perlu simbol yang akan dimuat agar breakpoint berfungsi. Jadi bagaimana breakpoint bekerja jika simbol tidak dimuat? Mungkin itu hanya pesan yang buruk?

Sen
sumber
Jadi, secara singkat, Anda memiliki masalah yang tidak kami ketahui. Dan Anda mengubah setelan debugger global dan sekarang Anda memiliki dua masalah. Kembalikan semuanya seperti semula dan jelaskan masalah pertama Anda .
Hans Passant
@HansPassant ini adalah masalah aslinya. Tampaknya sudah mulai terjadi setelah kami meningkatkan untuk menggunakan VS2015. Saya akan mengembalikan semua perubahan "akankah ini berhasil" sebelum memposting. Menghapus centang "Optimalkan Kode" tampaknya telah membantu. Lihat Pembaruan 2 yang dimaksud untuk lebih jelasnya.
Sen
Bisakah Anda menjelaskan apa solusi Anda? proyek apa, bahasa apa, target mereka, proyek startup mana?
Lucian Wischik
Aktifkan kembali Just my Code. Anda mencoba men-debug rakitan referensi yang kode sumbernya tidak Anda miliki?
Igor Quirino

Jawaban:

95

Gunakan Pengelola Konfigurasi untuk memeriksa pengaturan sebenarnya untuk konfigurasi Debug - ada di menu BangunPengelola Konfigurasi ... - jika disetel untuk menggunakan Rilis :

Manajer Konfigurasi

Selain itu, pastikan project tersebut menentukan DEBUG dengan benar, dan "Optimize Code" tidak dicentang:

Properti

stuartd
sumber
2
Saya baru saja memeriksa di sana dan semuanya siap untuk Debug. Saya telah mengupdate postingan dengan screenshot. Ada ide lain?
Sen
1
mengedit pertanyaan saya. Kode Optimize telah dicentang, menghapus centang tersebut tampaknya telah membantu. Tapi lihat pertanyaan untuk detailnya.
Sen
1
@Sen Sepertinya seseorang salah mengkonfigurasi pengaturan debug build Anda. Versi debug dengan kode yang dioptimalkan tidak masuk akal. Adapun masalah simbol: Mungkin seseorang menonaktifkannya untuk debug build? Tekan tombol "Advanced" di setelan build dan periksa apakah "Info Debug" disetel ke "full" di build debug.
kremasi
6
Tidak mencentang kode Optimize berhasil. Tidak yakin bagaimana itu diperiksa untuk memulai, tetapi begitu itu mati semuanya sepertinya mulai bekerja lagi. Semua pengaturan debug lainnya benar, ini adalah satu-satunya yang rusak. Saya juga tidak lagi mendapatkan pesan "Simbol tidak dimuat".
Sen
94

Ini telah terjadi pada saya pada beberapa proyek juga. Saya meninjau pengaturan build saya, seperti yang disarankan oleh stuartd . Namun, 'Optimalkan kode' tidak diaktifkan di pengaturan build saya. Jadi saya mengaktifkannya dan menyimpan proyek. Lalu saya hapus centangnya dan simpan lagi. Masalah terpecahkan.

Ada beberapa jenis bug yang menyebabkan --optimize+flag diteruskan ke debugger. Mengaktifkan dan menonaktifkannya adalah solusi yang mudah sampai bug diperbaiki.

Adam J.
sumber
1
Saya telah melihat ini di IntelliJ IDE sebelumnya, tetapi tidak pernah di Visual Studio sampai sekarang. Anehnya, ini juga berhasil untuk saya.
ZaneDarken
1
Pembaruan 2017: masih melihat masalah ini di Visual Studio 2015 Pembaruan 3. Jawaban yang diterima tidak memperbaiki masalah; jawaban ini berhasil.
Lews Therin
1
Jawaban ini juga memperbaiki envir debug saya. Terima kasih!
bob.mazzo
1
Wow! Saya memiliki masalah yang sama persis dan ini berhasil untuk saya juga. VS 2015 U3. Luar biasa ...
AbeyMarquez
1
Komunitas VS2017, masih dengan masalah ini. terima kasih untuk solusi ini
William Borgo
20

Ini mulai terjadi pada saya setelah menerapkan Pembaruan 1. Proyek yang sudah ada mulai menunjukkan ini, dan saya dapat menirunya dengan proyek baru. Semua konfigurasi diatur untuk DEBUG, dan Optimalkan adalah tidak diperiksa.

Masalahnya, menjalankan proyek untuk pertama kali (atau setelah Clean) berjalan dengan baik, tanpa pesan apa pun. Menghentikan, lalu menjalankan kembali proyek (catatan - proyek tidak dibangun kembali ) akan menampilkan dialog.

Satu-satunya solusi adalah mematikan opsi Just My Code - yang tampaknya diretas, seperti yang terjadi sebelumnya pada Pembaruan 1 tanpa masalah.

John T
sumber
6
Untuk apa nilainya, dukungan Microsoft telah mereproduksi masalah dan sedang menyelidiki. Begitu saya dengar, saya akan lapor balik / jawab.
John T
2
Situasi dan gejala yang sama di sini, muncul setelah Pembaruan VS2015 1. Menjalankan Clean sebelum setiap sesi debug dapat digunakan sebagai solusi karena memang berfungsi dengan benar pertama kali setelah itu. Hanya melakukan Rebuild saja tidak cukup, Clean diperlukan.
AronVanAmmers
2
Kata dari Microsoft adalah bahwa ini adalah masalah yang diketahui (awalnya masuk ke tim Debugger, tetapi ditentukan bahwa itu adalah masalah build, dan sekarang ada di tangan tim sistem Project. Ada bug lain yang terbuka tentang masalah ini, dan itu diberi peringkat Prioritas 1, jadi harus berada di jalur yang benar untuk pembaruan berikutnya. Meskipun seperti yang diharapkan, tidak ada janji yang dapat dibuat tentang kapan itu akan dirilis (atau apa yang sebenarnya ada dalam pembaruan). Jadi, diketahui dan sedang dikerjakan pada. Setidaknya mematikan "Aktifkan Just My Code" di Opsi Umum Debugging tampaknya menjadi solusi untuk saat ini.
John T
Apakah ada link ke masalah ini sehingga kami dapat mengikuti perkembangannya?
SkyrawrCode
1
Laporan Bug
13

Jika tidak ada solusi yang disebutkan yang membantu, periksa AssemblyInfo.cs proyek Anda untuk aplikasi DebuggableAttribute eksplisit. Sepertinya ini mengganti opsi debug / rilis kompiler.

Saya memiliki baris ini di file dalam kasus saya (proyek lama, tidak tahu bagaimana itu sampai di sana). Menghapusnya memecahkan masalah:

[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
Dmitry Rotay
sumber
2
Terima kasih untuk ini. Saya sedang mengerjakan proyek di mana klien saya kehilangan kode sumber aslinya, jadi saya harus membuatnya menggunakan decompiler. Tebakan saya satu-satunya adalah bahwa decompiler meletakkan baris ini.
jebar8
Ya, itu bisa menjadi alasan dalam kasus saya juga. Terima kasih telah berbagi.
Dmitry Rotay
9

Saya mengalami masalah ini juga. Perbaikan yang berhasil adalah dengan membersihkan ( Build > Clean Solution) dan membangun kembali ( Build > Rebuild Solution) proyek saya.

Thijs
sumber
Bisakah Anda menjelaskannya? Misalnya dengan cara melakukannya (perintah menu untuk dipanggil, dll.)?
Peter Mortensen
5

Tak satu pun dari jawaban sebelumnya berhasil untuk saya. Memulai ulang IIS memperbaikinya.

wezten
sumber
3

Hanya menambahkan catatan tambahan untuk jawaban stuartd :

Pastikan Anda memeriksa project dependen untuk setelan build yang sama. Anda akan mendapatkan prompt pesan yang sama jika proyek utama Anda memiliki pengaturan yang tepat, tetapi proyek dependen Anda tidak. Masuk akal jika dilihat ke belakang, tetapi itu bukan hal pertama yang terlintas dalam pikiran.

dispake
sumber
3

Dalam kasus saya, masalahnya adalah bahwa IIS Project URL di tab web properti proyek ASP.NET saya disetel ke URL yang salah.

Itu menunjuk ke http: // localhost yang saya gunakan dengan salinan proyek yang berbeda. Alamat untuk solusi yang saya buka sebenarnya dikonfigurasi di IIS lokal saya sebagai http: // localhost: 90 .

Mengganti ke alamat yang benar memperbaiki masalah.

Masukkan deskripsi gambar di sini

akiller
sumber
2

Saya mencoba hampir semua yang ada dalam daftar ini, tetapi pada akhirnya saya memperbaikinya dengan membuka properti solusi dan beralih dari "Beberapa proyek startup" ke "Proyek startup tunggal" dan kembali lagi.

  1. Klik kanan pada solusi dan pilih "Properties"
  2. Di bagian "Properti umum", ubah pilihan "Beberapa proyek startup" menjadi "Proyek startup tunggal"
  3. Klik OK
  4. Jalankan debugging
  5. Akhiri debugging dan ulangi langkah 1-3, tetapi beralih kembali ke "Beberapa proyek startup"
  6. Jalankan debugging lagi dengan banyak proyek
Fijjit
sumber
2

Saya memiliki masalah yang sama ... Tidak peduli apa yang saya lakukan - tidak ada yang berhasil.

Itu adalah proyek kosong baru yang menjadi masalahnya. Saya akhirnya menghapus proyek dan menambahkan proyek baru - proyek baru harus memiliki nama lain ; jika saya menggunakan nama yang sama kesalahan baru saja muncul kembali - bahkan setelah reboot, bersihkan dan bangun kembali ... Pasti bug di Visual Studio 2015.

Kim Rasmussen
sumber
2

Bagi saya, ini adalah referensi NuGet dari server NuGet pribadi. Saya tidak tahu bagaimana itu dikompilasi, tetapi mengubah referensi ke referensi proyek membuat saya melewati masalah.

Crowcoder
sumber
1

Saya telah membuka proyek Visual Studio 2012 Pro saya di Visual Studio 2015 Express dan memiliki masalah yang sama.

Saya memeriksa properti Solusi saya → Properti Konfigurasi , dan menemukan sebuah proyek disetel ke Rilis & x86.

Saya mengubahnya kembali ke Debug dan Semua CPU , dan prompt telah hilang.

Jason
sumber
1

Dalam kasus saya, saya mengembangkan plugin VSTO untuk Outlook , dan Outlook secara tidak sengaja memuat versi rilis file DLL yang baru-baru ini saya instal saat menguji penginstal saya.

Sepertinya Visual Studio mencoba menggunakan DLL itu daripada Debug yang saya harapkan. Memperbaiki file DLL mana yang sedang dimuat oleh Outlook memperbaiki ini untuk saya.

Devin Dow
sumber
0

Menyalin jawaban saya yang lain dari sini .

Seperti yang disebutkan oleh @romanoza, Microsoft telah memperbarui laporan bug dengan informasi berikut:

Hapus centang pada pengaturan Debug -> Options -> Suppress JIT optimization on module load (Managed only)

Ini solusinya. Mereka melanjutkan dengan mengatakan nanti:

Kami menyarankan orang-orang membiarkannya tidak dicentang karena jika tidak dicentang akan meningkatkan kinerja dan perilaku hanya kode saya dalam skenario tertentu.

Terakhir, pengakuan:

Ini adalah bug yang tidak bekerja dengan pengaturan itu diaktifkan dan kami sedang mengerjakan perbaikan untuk situasi itu jika beberapa pelanggan masih ingin men-debug dengan pengaturan itu diaktifkan.

Nate Cook
sumber
Laporan Bug
0

Saya menemui masalah yang sama, dan akhirnya saya menyelesaikannya dengan memilih "Disable Just My Code and Continue" .

Hanya Pengaturan Kode Saya

Sha-Pai Li
sumber
0

Langkah resolusi:

  • Pergi ke pengaturan Build dari halaman Properties proyek yang melanggar .

  • Gulir ke kanan ke bawah ke tombol "Lanjutan ..." .

  • Pastikan “Debug Info:” ini tidak  diatur ke “none” .

    Saya menyarankan Anda untuk menggunakan opsi lengkap .

Igor Quirino
sumber
Ingatlah untuk melakukan ini untuk semua rakitan yang ingin Anda debug.
Igor Quirino
0

Setelah melihat tautan oleh Patrick sebagai komentar atas pertanyaan tersebut , seseorang mencatat solusi untuk menghentikan situs di IIS Express . Saya dapat mencegah masalah yang sama ini timbul dengan melakukan hal itu setelah menghentikan debugger di Visual Studio.

Namun, saya memeriksanya lebih lanjut, dan saya yakin ini juga bisa terkait dengan pengaturan 'Edit dan Lanjutkan' untuk debugger. Ketika saya menonaktifkannya di menu ToolsOptions ... dari Visual Studio, saya tidak lagi mengalami masalah. Tetapi itu akan mencegah Anda menggunakan fitur Edit dan Lanjutkan , jadi saya tidak yakin apakah itu sepadan bagi Anda.

Alat Menu → PilihanDebuggerEdit dan Lanjutkan (gulir ke bawah daftar Umum) → hapus centang pada kotak centang Edit dan Lanjutkan .

Saya juga mengalami ini tiba-tiba setelah menginstal Pembaruan 1, tetapi mungkin saja saya telah menonaktifkan pengaturan ini di tempat pertama ... Saya tidak yakin.

lisan
sumber
0

Jika Anda hanya perlu melanjutkan tanpa penundaan lebih lanjut, pilih opsi terakhir dari munculan dan semua akan berjalan sama seperti sebelumnya.

Masukkan deskripsi gambar di sini

Milan
sumber
Gambar JPEG bukanlah pilihan terbaik untuk tangkapan layar. Bisakah Anda menggantinya dengan versi PNG (atau bahkan GIF)?
Peter Mortensen
0

Ini adalah peringatan yang aneh.

Membangun kembali Solusi belum tentu menghapus semua file DLL (terutama yang disalin dari proyek dependen).

Namun, membangun kembali proyek ketergantungan membuat peringatan ini hilang.

Saya menghadapi ini dengan Visual Studio 2015 Update 3.

Abu Abdullah
sumber
0

Solusi saya sedikit berbeda dari yang lain dan agak unik.

Saya bekerja dengan situs web yang berisi campuran kode terkelola dan ASP Classic , keduanya merujuk pada rakitan yang sama. Visual Studio mengeluh bahwa file DLL terkelola saya adalah versi rilis.

Masalahnya adalah pengecualian yang tidak tertangkap dalam perakitan saya, tetapi itu dilemparkan oleh halaman ASP Classic melalui interop. Visual Studio tidak dapat menangani debugging ini dan menampilkan pesan galat. Pengecualian yang sama yang dilontarkan dari kode terkelola akan memunculkan debugger seperti yang diharapkan.

Memperbaiki masalah di konstruktor perakitan terkelola saya memperbaiki semuanya.

Sekarang semua masuk akal karena saya melihat kembali gambaran besarnya, tetapi pada saat itu, pesan kesalahan membawa saya ke jalan yang sangat dalam, dan saya mencoba semua jawaban di sini sampai saya mendapatkan "Ah-ha!" saat.

Matt
sumber
0

Saya menghabiskan dua hari, dan sepertinya Reset the Visual Studio 2017 Experimental Instance membantu saya.

Denis535
sumber
Di manakah letak opsi itu (tanggapi dengan mengedit jawaban Anda , bukan di sini dalam komentar)?
Peter Mortensen