Visual Studio'nun hata ayıklama modunda dosya düzenlemeyi nasıl etkinleştiririm?


144

Visual Studio'da hata ayıklama sırasında dosya düzenlemeyi etkinleştirmenin bir yolu var mı? "Kaynak dosyanın orijinal sürümle tam olarak eşleşmesini iste" onay kutusunun işaretini kaldırdım. Fark yaratmıyor. Dosyaları düzenlemek için hata ayıklamayı bırakmalıyım. Çok sinir bozucu. Düzenle ve Devam Et'i etkinleştirdim. Aynı sonuç. Düzenle ve Devam Et'i devre dışı bıraktım - Aynı sonuç.


Sorunuzu düzenlediğinizi görmedim. Hızlı bir yeniden yükleme ile düzeltebilirsiniz.
Secko

12
@Secko Visual Studio hakkında konuşurken "hızlı yeniden yükleme" diye bir şey yoktur ...
Zero3

@ Zero3 Benim zamanımda, 16 yıl kadar önce, 1999 (int) 2000 civarında kullandığım zamanlar vardı. (Uzun) * zamanda kullanmadım.
Secko

Buradaki asıl sorun, Visual Studio'nun 'Düzenle ve Devam Et' ayarının düzenlemenize ve devam etmenize izin vermemesidir . Aksine, kodu düzenlemenize izin veren garip bir özelliktir, daha sonra yürütme kodunu düzenlemenize uygun olarak değiştirir ve oradan hata ayıklar. Bu yararlı olsa bile, nadiren çalışır. Buna 'anında düzenleme ve yeniden derleme' gibi bir şey denilmeliydi. Bunu Switching kapalı hala derlenmiş kod hata ayıklama sırasında gerçekte kodunu düzenlemek için izin verir.
MGOwen

Yanıtlar:


234

Bildiğim kadarıyla "Düzenle ve Devam Et" onay kutusunun işaretini kaldırabilirsiniz.

Araçlar -> Seçenekler -> Hata Ayıklama -> Düzenle ve Devam Et> Düzenle ve Devam Etmeyi Etkinleştir (işaretini kaldırın)


60
Bu benim için bir çözümdü - BM'nin "Düzenle ve Devam Et" denetiminin neden Düzenlememe izin vereceğini bilmiyorum ... mantıksız görünüyor. Her neyse, bunu cevap olarak işaretlerdim.
Sam Schutte

7
Karşı sezgisel, ancak etkili.
Milne

2
İş katmanı çözüm içinde ayrı bir projeye ayrılırsa bu farklı tepki verir. Ayrılmadan önce sorunsuz bir şekilde hata ayıklarken sınıfları düzenleyebildim. Ne yazık ki bu çözüm bu durumda benim için çözülmedi (VS2013 kullanıyorum)
Radderz

18
Visual Studio 2015'te bu ayarı Debugging-> altında buldum General.
Sıfır3

13
Bunu yapmaya çalışıyorsanız, ancak "Düzenle ve Devam Etmeyi Etkinleştir" gri renkteyse, hata ayıklamayı durdurun ve seçeneklere geri dönün.
Ravvy

19

Reed'in doğru cevabını genişletmek.

Hata ayıklama modundayken, dosya Düzenle ve Devam Et (genellikle kısaltılmış ENC) olarak bilinen bir özellik kullanıyorsa. Bu, kullanıcıların hata ayıklayıcıda çalışırken programlarını değiştirmelerini sağlar.

ENC etkinleştirildiğinde, kullanıcıların dosyalarında sınırlı sayıda düzenleme yapmasına izin verilir. Programın yürütülmesine devam eden bir sonraki eylem (F10, F5, vb.), Düzenlemelerin çalışan programa uygulanmasına neden olur. Bu başarılı olursa, programın yürütülmesi yeni kod uygulanarak devam edecektir.

Hata ayıklayıcı, ENC etkin değilse dosyada düzenlemelere izin vermez.

ENC'nin bilgisayarınızda devre dışı bırakılmasının birkaç nedeni vardır

  • Bazı profiller varsayılan olarak ENC'yi etkinleştirmez ve açıkça etkinleştirilmesi gerekir
  • 64 bit işletim sisteminde çalışıyor olabilir ve .Net uygulamanızı "Any CPU" olarak ayarlamış olabilirsiniz. ENC 64 bit'te mevcut değildir (CLR sınırlaması). ENC'nin çalışması için uygulamayı tekrar x86 olarak ayarlamanız gerekir

8
Düzenleme ve Devam Etmeyi umursamıyorsanız ve yalnızca uygulama çalışırken kodlamak istiyorsanız, bunu yaparken ne yapmanız gerektiğini görebilirsiniz? VS'nin bu yapay kısıtlamayı uygulayacağı kesinlikle gerçek dışı. Çalışırken kaynak dosyaları okuması gerektiği gibi değil. Kaynak dosyaları kilitlemesinin teknik bir nedeni yoktur. Xcode, uygulama çalışırken kod yazmanıza izin vermez. Değişiklikler bir sonraki çalışmaya kadar geçerli değil. VS'de bunu yapmanın gerçekten bir yolu yok mu?
devios1

1
Düzenle ve Devam Et'i devre dışı bırakırsam , uygulama çalışırken .cs dosyalarını düzenlememe izin verir, ancak yine de .xaml dosyalarını kilitler. Bu saçma kilitlemeyi tamamen devre dışı bırakmanın bir yolunu arıyorum.
devios1

7
Uygulama çalışırken projeye bir dosya eklememe bile izin vermiyor ! Çocuk değilim, günde 20-30 kez bir şey yapmaya çalışıyorum ve VS tamamen önlüyor. Kısa bir "wtf" anından sonra uygulamanın hata ayıklama olduğunu ve ne yaptığımı durdurmak, uygulamayı öldürmek ve sonra tekrar denemek zorunda olduğunun farkındayım. Bu şartlar altında çalışamam ve insanlar bu konuda kollarında değiller. Bu gerçekten üretkenliğimi öldürüyor ve beni duvara yükseltiyor. Bunu düzeltmenin bir yolu olmalı!
devios1

1
@ devios1 Sık sık yaptığım bir şey, hata ayıklama (ctrl + f5) olmadan sadece kesme noktalarına veya başka bir şeye ihtiyacınız olmadığı sürece sorun yok.
binki

@ devios1 Aynı. Umarım birisi (belki ben) bu uzantıyı bitirmek için zaman bulur. github.com/AndreasFurster/pause-edit-and-continue
Paul

8
  • BM "Düzenlemeyi ve Devam Etmeyi Etkinleştir" ( Tools -> Options -> Debugging -> Edit and Continue > Enable Edit and Continue)
  • Uygulamanızı oluşturun.
  • Çalıştır.
  • Yapma.
  • RE "Düzenlemeyi ve Devam Etmeyi Etkinleştir" i işaretleyin.
  • Uygulamanızı oluşturun.
  • Çalıştır.
  • Şimdi hata ayıklarken dosyaları düzenlemeyi deneyin.

Bu benim için çalıştı. Visual Studio 2015 ile ilgili bir hata veya senkronizasyon sorunu olabileceğine inanıyorum.


1
Sevgili downvoter, cevabı neden indirdiğinize bir yorum bırakmak iyi bir uygulamadır.
Francois Botha

Bu benim için çözülmedi, ancak aşağıdaki en yüksek oyu verdi.
Kairan

6

Düzenle ve Devam Et özelliğini etkinleştirmeniz gerekir .


2
Ayrıca, bir kesme noktasında olmanız veya duraklat (Tümünü Kır) düğmesini tıklamanız gerekir.
McAden

@marcc: Ve daha birçok şey, bu yüzden belgelere işaret ettim. Desteklenmeyen değişikliklerin tam listesi için bu konumdaki "Desteklenmeyen Senaryolar" bölümüne bakın
Reed Copsey

4
Seckos (en çok oy alan) cevap benim için çalıştı (VS2015) ve cevabınızın tam tersi.
alrts

6

MSDN'den

Düzenle ve Devam Et'i etkinleştirmek / devre dışı bırakmak için

  • Hata ayıklama seçenekleri sayfasını açın (Araçlar / Seçenekler / Hata Ayıklama). Kaydırma

  • Düzenle ve Devam Et kategorisine gidin. Etkinleştirmek için Düzenlemeyi Etkinleştir'i seçin

  • ve Devam onay kutusunu işaretleyin. Devre dışı bırakmak için onay kutusunun işaretini kaldırın. Not. ...

  • Tamam'ı tıklayın.


5

hata ayıklama sırasında genellikle bir dosyayı düzenlemek bir kesme noktasına (ve ancak o zaman) çarptığınızda mümkündür.

Bununla birlikte bazı kısıtlamalar vardır: -yeni kodunuz derlenmelidir -Kuzda ifadeleri içeren bir işlevde kodu değiştiremezsiniz



2

Düzenle ve Devam Et özelliğini etkinleştirdiyseniz ve C # kullanıyorsanız, bir dosyayı yalnızca hata ayıklayıcı bir kesme noktasıyla durduysa veya "Tümünü Sonlandır" ile manuel olarak Uygulama'ya girerseniz düzenleyebilirsiniz. Hala bazı dosyaları düzenleyemezsiniz, Örn. xaml dosyaları bir WPF uygulamasında, ancak çoğu sorunu çözmelidir.


1

Kaynağınız bir decompiled dll'den geliyorsa, decompiler'ın assemblyinfo.cs dosyasına bir IgnoreSymbolStoreSequencePoints talimatı ekleyebileceğini unutmayın:

[assembly: Hata ayıklama (DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]

Düzenleme ve çalışmaya devam etmek için pdb dosyasını yüklemek için bu satır kaldırılmalıdır.


1

Benim için aşağıdaki seçenek işten kene kaldırma

Araçlar> Seçenek> Hata Ayıklama> Genel> Düzenlemeyi ve Devam Etmeyi Etkinleştir

resim açıklamasını buraya girin

* Not: Bazı geliştiriciler sisteminde, Bu kene eklemek hile yaptı.


1

Bu şekilde denedim ve benim için çalışıyor. CSProj Veya VbProj Dosyasına Git -> Asp.Net Geliştirme Sunucusu / IIS Express'i Seç -> Hata Ayıklayıcılar-> Düzenle ve Devam Et-> Kaydet ve Çalıştır'ı seçin.

resim açıklamasını buraya girin

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.