Düzenle ve Devam Et (C++)

C++ projelerinde Düzenle ve devam et ' i kullanabilirsiniz. Düzenle ve devam et sınırlamaları hakkında daha fazla bilgi için bkz. desteklenen kod değişiklikleri (C++) .

Visual Studio 2015 güncelleştirme 3 geliştirmeleri hakkında daha fazla bilgi için, bkz. Visual Studio 2015 güncelleştirme 3 ' te C++ düzenle ve devam et.

Visual Studio 2013 güncelleştirme 3 ' te tanıtılan /zo (en iyi duruma getirilmiş hata ayıklama) derleyici seçeneği, /od (devre dışı bırak (hata ayıkla)) seçeneği olmadan derlenen ikili dosyalar için. pdb (sembol) dosyalarına ek bilgi ekler.

/Zo düzenleme ve devam etmeyi devre dışı bırakır. Bkz. nasıl yapılır: Iyileştirilmiş kodda hata ayıklama.

Düzenle ve devam et 'i etkinleştir veya devre dışı bırak

Geçerli hata ayıklama oturumu sırasında uygulanmasını istemediğiniz kodda düzenleme yapıyorsanız otomatik Düzenle ve devam et çağrısını devre dışı bırakmak isteyebilirsiniz. Ayrıca otomatik düzenlemeyi yeniden etkinleştirip devam edebilirsiniz.

Önemli

gerekli derleme ayarları ve özellik uyumluluğu hakkında diğer bilgiler için, bkz. Visual Studio 2015 güncelleştirme 3 ' te C++ düzenle ve devam et.

  1. Hata ayıklama oturumundaysanız, hata ayıklamayı durdurun (SHIFT + F5).

  2. Araçlar menüsünde Seçenekler' i seçin.

  3. Seçenekler iletişim kutusunda, hata ayıklama > genel' i seçin.

  4. Etkinleştirmek için Düzenle ve devam et 'ı etkinleştir' i seçin. Devre dışı bırakmak için onay kutusunu temizleyin.

  5. Düzenle ve devam et grubunda yerel düzenlemeyi etkinleştir ve devam et onay kutusunu işaretleyin veya temizleyin.

    Bu ayarın değiştirilmesi, üzerinde çalıştığınız tüm projeleri etkiler. Bu ayarı değiştirdikten sonra uygulamanızı yeniden oluşturmanız gerekmez. uygulamanızı komut satırından veya bir derleme görevleri dosyasında oluşturursanız, ancak Visual Studio ortamda hata ayıklaması yaparsanız, /zi seçeneğini ayarlarsanız düzenle ve devam et ' i kullanmaya devam edebilirsiniz.

Kod değişikliklerini açıkça uygulama

C++ ' da Düzenle ve devam et, kod değişikliklerini iki şekilde uygulayabilir. Kod değişiklikleri, bir yürütme komutu seçtiğinizde ya da açıkça kod değişikliklerini Uygula komutu kullanılarak örtük bir şekilde uygulanabilir.

Kod değişikliklerini açıkça uyguladığınızda, programınız kesme modunda kalır; yürütme gerçekleşmez.

  • Kod değişikliklerini açıkça uygulamak için, Hata Ayıkla menüsünde, kod değişikliklerini Uygula' yı seçin.

Kod değişikliklerini durdurma

Düzenle ve devam et, kod değişikliklerini uygulama sürecinde olduğunda, işlemi durdurabilirsiniz.

Kod değişikliklerini uygulamayı durdurmak için:

  • Hata Ayıkla menüsünde, kod değişikliklerini uygulamayı durdur' u seçin.

    Bu menü öğesi yalnızca kod değişiklikleri uygulanırken görülebilir.

    Bu seçeneği belirlerseniz, kod değişikliklerinden hiçbiri yürütülmedi.

Yürütme noktasını sıfırlama

Bazı kod değişiklikleri, düzenleme ve devam etme değişiklikleri geçerliyse yürütme noktasının yeni bir konuma taşınmasına neden olabilir. Düzenle ve devam et, yürütme noktasını mümkün olduğunca doğru şekilde yerleştirirken, sonuçlar her durumda doğru olmayabilir.

C++ ' da, yürütme noktası değiştiğinde bir iletişim kutusu size bildirir. Hata ayıklamaya devam etmeden önce konumun doğru olduğunu doğrulamanız gerekir. Doğru değilse, sonraki Ifadeyi ayarla komutunu kullanın. Daha fazla bilgi için bkz. çalıştırılacak sonraki Ifadeyi ayarlama.

Eski kodla çalışma

Bazı durumlarda, Düzenle ve devam et kod değişikliklerini çalıştırılabilir dosyaya hemen uygulayamaz, ancak hata ayıklamaya devam ederseniz kod değişikliklerini uygulayabilir. Bu, geçerli işlevi çağıran bir işlevi düzenlediğinizde veya Çağrı yığınındaki bir işleve 64 bayttan fazla yeni değişken eklerseniz oluşur

Bu gibi durumlarda, değişiklikler uygulanana kadar hata ayıklayıcı orijinal kodu yürütmeye devam eder. Eski kod, farklı bir kaynak penceresinde, gibi bir başlık ile geçici bir kaynak dosya penceresi olarak görünür enc25.tmp . Düzenlenen kaynak özgün kaynak penceresinde görünmeye devam eder. Eski kodu düzenlemeye çalışırsanız bir uyarı iletisi görüntülenir.

Ayrıca bkz.