Visual Studio 2015 projesi artık hata ayıklama modunda çalışmıyor


96

Hata Ayıklama yapılandırmasında çalıştırdığımda bile aldığım şey bu:

Bunu gösterme şeklim, "Yalnızca Benim Kodum " u etkinleştirip , başlatma sırasında herhangi bir kullanıcı kodu yoksa uyarmaktı. Bu yakın zamanda projemize olan bir şey ve buna neden olmak için ne yaptığımızdan emin değilim. Ama düzeltemedim. Kırılma noktaları ateşlenmez ve hızlı izleme tuhaf sonuçlar verir.

Sorunu Google'da araştırmayı denedim, ancak standart "kırılma noktaları ateşlenmeyecek" çözümlerinden hiçbiri işe yaramadı. Fikirlerim tükendi.

Yapılandırma yöneticisini kontrol ettim ve her proje de Debug olarak ayarlandı.

Buraya resim açıklamasını girin

"Optimaizations'ı Etkinleştir" seçeneğini kapattım ve artık "bir Sürüm yapısında hata ayıkladığınız" iletişim kutusunu görmüyorum. Tekrar kesme noktalarında çalışır ve durur! Ancak çıktı penceresi başlangıçta bunu görüntüler:

'Navigo.exe' modülüne ait semboller yüklenmedi.

  1. Bir hata ayıklama derleme yapılandırması kullanın veya hata ayıklama seçeneğini devre dışı bırakın 'Yalnızca Kodumu Etkinleştir'.
  2. Hata ayıklama seçeneklerinin altındaki 'Semboller' ayarlarını kontrol edin.

Bu benim çözer Yani birincil artık kesme noktaları ve pop-up kullanabilme sorununu. Kesme noktalarının çalışması için sembollerin yüklenmesi gerektiğini düşündüğüm için bu garip. Öyleyse, semboller yüklenmemişse kesme noktaları nasıl çalışabilir? Belki sadece kötü bir mesajdır?


Kısacası, bilmediğimiz bir tür problemin vardı. Ve genel hata ayıklayıcı ayarlarını değiştirdiniz ve şimdi iki sorununuz var. Her şeyi eski haline getirin ve ilk probleminizi tanımlayın .
Hans Passant

@HansPassant bu orijinal problemdir. VS2015'i kullanmak için yükselttikten sonra olmaya başladı gibi görünüyor. Yayınlamadan önce "bu işe yarar" değişikliklerimden herhangi birini geri almıştım. "Kodu Optimize Et" seçeneğinin işaretini kaldırmak yardımcı olmuş gibi görünüyor. Daha fazla ayrıntı için söz konusu Güncelleme 2'ye bakın.
Sen

Çözümünüzün ne olduğunu açıklayabilir misiniz? projeler neler, hangi dillerde, neyi hedefliyor, başlangıç ​​projesi hangisi?
Lucian Wischik

Just my Code'u tekrar etkinleştirin. Kaynak koda sahip olmadığınız başvurulan derlemelerde hata ayıklamaya mı çalışıyorsunuz?
Igor Quirino

Yanıtlar:


97

Yapılandırma Yöneticisi'ni kullanarak Hata Ayıklama yapılandırması için gerçek ayarların ne olduğunu kontrol etmek için kullanın - bu, OluşturYapılandırma Yöneticisi ... menüsündedir - Sürüm kullanmak üzere ayarlanmışlarsa :

Yapılandırma yöneticisi

Ayrıca, projenin DEBUG'ı doğru tanımladığından ve "Optimize Code" seçeneğinin işaretlenmediğinden emin olun :

Özellikleri


2
Sadece kontrol ettim ve hepsi Debug olarak ayarlandı. Gönderiyi bir ekran görüntüsü ile güncelledim. Başka fikir var mı?
Sen

1
sorumu düzenledi. Optimize kodu kontrol edildi, işaretinin kaldırılması yardımcı olmuş görünüyor. Ancak ayrıntılar için soruya bakın.
Sen

1
@Sen Birisi hata ayıklama oluşturma ayarlarınızı yanlış yapılandırmış gibi görünüyor. Optimize edilmiş kod ile bir hata ayıklama derlemesi hiçbir anlam ifade etmez. Sembol sorununa gelince: Belki birileri bunları hata ayıklama yapısı için devre dışı bıraktı? Derleme ayarlarında "Gelişmiş" düğmesine basın ve hata ayıklama yapısında "Hata Ayıklama Bilgisi" nin "tam" olarak ayarlandığını kontrol edin.
cremor

6
Optimize kodunun işaretini kaldırmak hile yaptı. Başlamak için nasıl kontrol edildiğinden emin değilim, ancak bir kez kapandığında her şey yeniden çalışmaya başlıyor gibiydi. Diğer tüm hata ayıklama ayarları doğruydu, bu yanlış olan tek şeydi. Ayrıca artık "Semboller yüklenmedi" mesajını da almıyorum.
Sen

94

Bu bana birkaç projede de oldu. Stuartd tarafından önerildiği gibi derleme ayarlarımı inceledim . Bununla birlikte 'Optimize kod' oldu değil benim yapı ayarlarında sağladı. Ben de onu etkinleştirdim ve projeyi kaydettim. Sonra işaretini kaldırdım ve tekrar kaydettim. Sorun çözüldü.

--optimize+Bayrağın hata ayıklayıcıya aktarılmasına neden olan bir tür hata var. Bunu etkinleştirmek ve ardından devre dışı bırakmak, hata düzeltilene kadar kolay bir çözümdür.


1
Bunu daha önce IntelliJ IDE'de görmüştüm, ancak şimdiye kadar hiç Visual Studio'da görmemiştim. İşin garibi, bu benim için de çalıştı.
ZaneDarken

1
2017 güncellemesi: bu sorunu Visual Studio 2015 Güncellemesi 3'te görmeye devam ediyoruz. Kabul edilen yanıt sorunu çözmedi; bu cevap yaptı.
Lews Therin

1
Bu cevap aynı zamanda hata ayıklama ortamımı da düzeltti. Teşekkürler !
bob.mazzo

1
Vaov! Tam olarak bu sorunu yaşadım ve bu benim için de çalıştı. VS 2015 U3. Unbelievable ...
AbeyMarquez

1
VS2017 Topluluğu, hala bu sorunu yaşıyor. bu çözüm için teşekkürler
William Borgo

20

Bu, 1. Güncellemeyi uyguladıktan sonra başıma geldi. Mevcut projeler bunu göstermeye başladı ve bunu yepyeni bir projeyle kopyalayabilirim. Tüm yapılandırma DEBUG olarak ayarlanır ve optimize edilir değil kontrol etti.

Önemli olan, projeyi ilk kez (veya bir Temizlemeden sonra) çalıştırmak herhangi bir mesaj olmadan gayet iyi çalışır. Projeyi durdurmak, ardından yeniden çalıştırmak (not - proje yeniden oluşturulmaz ) iletişim kutusunu görüntüler.

Tek çözüm, Güncelleme 1'den önceki sürümde olduğu gibi bir hack gibi görünen Sadece Benim Kodum seçeneğini kapatmaktır .


6
Değeri ne olursa olsun, Microsoft desteği sorunu yeniden üretti ve araştırıyor. Duyduğum anda rapor edeceğim / cevaplayacağım.
John T

2
Burada aynı durum ve belirtiler, VS2015 Güncellemesi 1'den sonra ortaya çıktı. Her hata ayıklama oturumundan önce Temizlik çalıştırmak geçici çözüm olarak kullanılabilir çünkü bundan sonra ilk seferinde doğru şekilde çalışır. Sadece bir Yeniden Oluşturma yapmak yeterli değildir , Temizlik gereklidir.
AronVanAmmers

2
Microsoft'un söylediği kelime, bunun bilinen bir sorun olduğudur (başlangıçta Hata Ayıklayıcı ekibine gitmişti, ancak bunun bir yapı sorunu olduğu belirlendi ve şimdi Proje sistemi ekibinin ellerinde. Bu konuda başka hatalar da var ve bu Öncelik 1 olarak derecelendirilmiştir, bu nedenle bir sonraki güncelleme için doğru yolda olmalıdır. Beklendiği gibi, ne zaman yayınlanacağına (veya güncellemede gerçekte ne olduğuna) dair hiçbir söz verilemez. Yani biliniyor ve üzerinde çalışılıyor En azından Hata Ayıklama Genel Seçeneklerinde "Yalnızca Benim Kodumu Etkinleştir" i kapatmak şimdilik geçici bir çözüm gibi görünüyor.
John T

İlerlemesini takip edebilmemiz için bu konuya bir bağlantı var mı?
SkyrawrCode


13

Bahsedilen çözümlerden hiçbiri yardımcı olmadıysa, projenizin AssemblyInfo.cs dosyasını açık DebuggableAttribute uygulaması için kontrol edin. Derleyicinin hata ayıklama / yayınlama seçeneklerini geçersiz kılıyor gibi görünüyor.

Benim durumumda dosyada bu satır vardı (eski proje, oraya nasıl geldiğine dair hiçbir fikrim yok). Silmek sorunu çözdü:

[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]

2
Bunun için teşekkürler. Müşterimin orijinal kaynak kodunu kaybettiği bir proje üzerinde çalışıyorum, bu yüzden onu bir derleyici kullanarak oluşturmak zorunda kaldım. Tek tahminim,
derleyicinin

Evet, benim durumumda da sebep olabilir. Paylaşım için teşekkürler.
Dmitry Rotay


9

Ben de bu sorunla karşılaştım. İşe yarayan düzeltme projelerimi basitçe temizlemek ( Build > Clean Solution) ve yeniden oluşturmaktı ( Build > Rebuild Solution).


Detaylandırır mısın Örneğin nasıl yapılacağıyla (çalıştırılacak menü komutları vb.)?
Peter Mortensen

5

Önceki cevapların hiçbiri benim için işe yaramadı. IIS'yi yeniden başlatmak sorunu çözdü .


3

Stuartd'ın cevabına bir yan not ekledim :

Aynı derleme ayarları için tüm bağımlı projeleri kontrol ettiğinizden emin olun. Ana projeniz uygun ayarlara sahipse aynı mesaj istemini alırsınız, ancak bağımlı projeleriniz yoktur. Geriye dönüp bakınca mantıklı geliyor ama akla gelen ilk şey bu değildi.


3

Benim durumumda sorun, ASP.NET proje özellikleri web sekmemdeki IIS Proje URL'sinin yanlış URL'ye ayarlanmış olmasıydı.

Projenin farklı bir kopyasıyla kullandığım http: // localhost'a işaret ediyordu. Açtığım çözümün adresi aslında yerel IIS'imde http: // localhost: 90 olarak yapılandırıldı .

Doğru adrese geçmek sorunu çözdü.

Buraya resim açıklamasını girin


2

Bu listedeki hemen hemen her şeyi denedim, ancak sonunda çözüm özelliklerini açarak ve "Çoklu başlangıç ​​projeleri" nden "Tek başlangıç ​​projesi" ne ve tekrar geri dönerek bunu düzelttim.

  1. Çözüme sağ tıklayın ve "Özellikler" i seçin
  2. "Ortak özellikler" altında, "Çoklu başlangıç ​​projeleri" seçimini "Tek başlangıç ​​projesi" olarak değiştirin
  3. Tamam'ı tıklayın
  4. Hata ayıklamayı çalıştır
  5. Hata ayıklamayı sonlandırın ve 1-3 arasındaki adımları tekrarlayın, ancak "Birden çok başlangıç ​​projesi" ne geri dönün
  6. Birden çok projeyle hata ayıklamayı tekrar çalıştırın

2

Aynı sorunu yaşadım ... Ne yaparsam yapayım - hiçbir şey işe yaramadı.

Sorun olan yeni boş bir projeydi. Ben bitti projeyi kaldırıp yeni bir proje ekleyerek - yeni bir proje olması gerekiyordu başka bir isim ; aynı adı kullanırsam hata yeniden ortaya çıktı - yeniden başlatmadan, temizledikten ve yeniden oluşturduktan sonra bile ... Visual Studio 2015'te bir hata olmalı.


2

Benim için özel bir NuGet sunucusundan bir NuGet başvurusuydu. Nasıl derlendiğini bilmiyorum, ancak referansı bir proje referansına değiştirmek beni sorunu aştı.


1

Visual Studio 2012 Pro projemi Visual Studio 2015 Express'te açtım ve aynı sorunu yaşadım .

Çözüm özelliklerimi → Konfigürasyon Özellikleri kontrol ettim ve bir projenin Release & x86 olarak ayarlandığını keşfettim.

Bunu Debug ve Any CPU olarak değiştirdim ve komut istemi gitti.


1

Benim durumumda, Outlook için bir VSTO eklentisi geliştiriyordum ve Outlook, yükleyicimi test ederken yakın zamanda yüklediğim DLL dosyasının Sürüm sürümünü yanlışlıkla yüklüyordu.

Görünüşe göre Visual Studio, beklediğim Hata Ayıklama yerine bu DLL'yi kullanmaya çalışıyor. Outlook tarafından hangi DLL dosyasının yüklenmekte olduğunu düzeltmek bunu benim için düzeltti.


0

Diğer cevabımı buradan kopyalıyorum .

@Romanoza'da belirtildiği gibi, Microsoft hata raporunu aşağıdaki bilgilerle güncellemiştir:

Hata Ayıklama -> Seçenekler -> Modül yükünde JIT optimizasyonunu bastır ayarının işaretini kaldırın (Yalnızca yönetilen)

Bu geçici çözümdür. Daha sonra söylemeye devam ederler:

Kişilere, işaretlenmemiş olması hem performansı hem de belirli senaryolarda kodumun davranışını artıracağı için onu işaretlemeden bırakmanızı öneririz.

Son olarak, kabul:

Bu ayar etkinken çalışmaması bir hatadır ve bazı müşterilerin bu ayar açıkken hala hata ayıklamak istemesi durumunda bu durum için bir düzeltme üzerinde çalışıyoruz.




0

Çözüm adımları:

  • Sorun teşkil eden projenin Özellikler sayfasının Yapı ayarlarına gidin .

  • Sağ aşağı kaydırarak "Gelişmiş ..." düğmesine gidin.

  • Emin olun “hata ayıklama bilgileri:” olduğu değil  ayarlı “hiçbiri” .

    Tam seçeneği kullanmanızı tavsiye ederim .


Hata ayıklamak istediğiniz tüm derlemeler için bunu yapmayı unutmayın.
Igor Quirino

0

Patrick'in bağlantısını soruya bir yorum olarak görüntüledikten sonra , birisi siteyi IIS Express'te durduracak bir geçici çözüm kaydetti . Visual Studio'da hata ayıklayıcıyı durdurduktan sonra bunu yaparak aynı sorunun ortaya çıkmasını engelleyebildim.

Ancak, daha çok araştırıyordum ve bunun hata ayıklayıcı için 'Düzenle ve Devam Et' ayarıyla da ilgili olabileceğine inanıyorum. Bunu Visual Studio'nun AraçlarSeçenekler ... menüsünde devre dışı bıraktığımda artık sorun yaşamadım. Ancak bu, Düzenle ve Devam Et'i kullanmanıza engel olur özelliğini , bu yüzden sizin için buna değip değmeyeceğinden emin değilim.

Menü AraçlarıSeçeneklerHata AyıklayıcıDüzenle ve Devam Et (Genel listesinin en altına gidin) → Düzenle ve Devam Et onay kutusunun işaretini kaldırın .

Güncelleme 1'i yükledikten sonra da bunu aniden yaşadım, ancak ilk başta bu ayarı yapmış olabilirim ... Yine de emin değilim.


0

Daha fazla gecikme olmadan devam etmeniz gerekirse, açılır pencereden son seçeneği seçin ve hepsi eskisi gibi çalışacaktır.

Buraya resim açıklamasını girin


JPEG resimler, ekran görüntüleri için en iyi seçim değildir. Bunu (net) bir PNG sürümü (veya hatta GIF) ile değiştirebilir misiniz?
Peter Mortensen

0

Bu garip bir alarmdı.

Çözümü yeniden oluşturmak, tüm DLL dosyalarını (özellikle bağımlı projelerden kopyalanmış olanları) mutlaka temizlemeyecektir.

Ancak, bağımlılık projesini yeniden inşa etmek bu uyarıyı ortadan kaldırdı.

Bunu Visual Studio 2015 Güncelleme 3 ile karşılaştım.


0

Benim çözümüm diğerlerinden biraz farklıydı ve biraz benzersizdi.

Yönetilen kod ve ASP Classic karışımını içeren bir web sitesiyle çalışıyorum ikisi de aynı derlemeye başvuran, . Visual Studio, yönetilen DLL dosyamın bir sürüm yapısı olduğundan şikayet ediyordu.

Sorun, derlememde yakalanmamış bir istisnaydı, ancak birlikte çalışma aracılığıyla bir ASP Klasik sayfası tarafından fırlatılıyordu. Visual Studio bu hata ayıklamayı işleyemedi ve hata mesajını görüntüledi. Yönetilen koddan atılan aynı istisna, hata ayıklayıcıyı beklendiği gibi ortaya çıkarırdı.

Yönetilen derlemenin kurucusundaki sorunu düzeltmek her şeyi düzeltti.

Şimdi büyük resme dönüp baktığımda her şey mantıklı geliyor, ama o sırada hata mesajı beni çok derin bir yola götürdü ve ben o "Ah-ha!" an.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.