Bagikan melalui


Edit dan Lanjutkan (C++)

Anda dapat menggunakan Hot Reload, yang sebelumnya disebut Edit dan Lanjutkan, di proyek C++. Untuk informasi tentang batasan fitur, lihat Perubahan Kode yang Didukung (C++).

Anda dapat menggunakan Edit dan Lanjutkan di proyek C++. Untuk informasi selengkapnya tentang batasan Edit dan Lanjutkan, lihat Perubahan Kode yang Didukung (C++).

Opsi pengompilasi /Zo (Enhance Optimized Debugging) menambahkan informasi tambahan ke file .pdb (simbol) untuk biner yang dikompilasi tanpa opsi /Od (Disable (Debug)).

Opsi /Zo menonaktifkan Edit dan Lanjutkan, seperti yang dijelaskan dalam Cara: Debug Kode yang Dioptimalkan.

Mengaktifkan atau menonaktifkan Hot Reload

Anda mungkin ingin menonaktifkan pemanggilan otomatis Hot Reload jika Anda melakukan pengeditan pada kode yang tidak ingin Anda terapkan selama sesi penelusuran kesalahan saat ini. Anda dapat mengaktifkan kembali Hot Reload otomatis sesuai kebutuhan.

Penting

Untuk pengaturan build yang diperlukan dan informasi lain tentang kompatibilitas fitur, lihat C++ Edit dan Lanjutkan di Visual Studio 2015 Update 3.

  1. Jika saat ini Anda berada dalam sesi penelusuran kesalahan, hentikan penelusuran kesalahan (Shift + F5).
  1. Buka panelOpsi>, dan perluas bagian Semua Pengaturan>Debugging.NET>/C++ Hot Reload.

  2. Untuk mengaktifkan Hot Reload saat memulai dengan debugger terpasang (F5), centang kotak Enable Hot Reload di sisi kanan panel.

    Setelah memilih kotak centang, Anda bisa mengonfigurasi opsi berikut:

    Opsi Hot Reload Description Bawaan
    Menerapkan perubahan secara otomatis pada lanjut (Hanya versi asli) Menerapkan perubahan saat Anda melanjutkan dengan debugger terpasang (F5). Diaktifkan
    Peringatkan tentang kode kedaluarsa Mengaktifkan peringatan ketika debugger menemukan kode yang telah dimodifikasi tetapi tidak dapat segera diterapkan. Diaktifkan
    Aktifkan saat tidak melakukan debug Mengaktifkan Hot Reload saat memulai tanpa debugger terpasang (Ctrl + F5). Diaktifkan
    Terapkan saat simpan file Menerapkan perubahan ketika file disimpan. Disabled
    Verbositas pengelogan Atur tingkat pengelogan saat Hot Reload diaktifkan. Pilih dari Minimal, Terperinci, atau Diagnostik. Minimal
  1. Buka dialogOpsi>, dan perluas bagian Debugging.NET>/C++ Hot Reload.

  2. Pilih satu atau semua opsi berikut untuk mengaktifkan fitur:

    • Aktifkan Hot Reload: Mengaktifkan Hot Reload saat dimulai dengan debugger terpasang (F5).

    • Aktifkan Hot Reload saat memulai tanpa debugging: Mengaktifkan Hot Reload saat memulai tanpa debugger terhubung (Ctrl + F5).

    • Aktifkan Hot Reload pada Penyimpanan File: Mengaktifkan Hot Reload saat file disimpan.

    • Verbositas pengelogan: Atur tingkat pengelogan saat Hot Reload diaktifkan. Pilih dari Minimal (default), Terperinci, atau Diagnostik.

    Mengubah pengaturan ini memengaruhi semua proyek yang Anda kerjakan. Anda tidak perlu membangun kembali aplikasi Setelah mengubah pengaturan. Jika Anda membuat aplikasi dari baris perintah atau dari makefile, tetapi Anda men-debug di lingkungan Visual Studio, Anda masih dapat menggunakan Edit dan Lanjutkan jika Anda mengatur /ZI opsi.

  3. Pilih OK.

Mengaktifkan atau menonaktifkan Edit dan Lanjutkan

Anda mungkin ingin menonaktifkan pemanggilan otomatis Edit dan Continue jika Anda melakukan pengeditan pada kode yang tidak ingin diterapkan selama sesi debug saat ini. Anda dapat mengaktifkan kembali Edit dan Lanjutkan otomatis sesuai kebutuhan.

Penting

Untuk pengaturan build yang diperlukan dan informasi lain tentang kompatibilitas fitur, lihat C++ Edit dan Lanjutkan di Visual Studio 2015 Update 3.

  1. Jika saat ini Anda berada dalam sesi penelusuran kesalahan, hentikan penelusuran kesalahan (Shift + F5).

  2. Buka dialogOpsi>, dan perluas bagianUmum>.

  3. Untuk mengaktifkan Edit dan Lanjutkan, pilih kotak centang Aktifkan Edit dan Lanjutkan . Untuk menonaktifkan opsi, kosongkan kotak centang.

  4. Di grup Edit dan Lanjutkan , pilih atau kosongkan kotak centang Aktifkan Edit Asli dan Lanjutkan .

    Mengubah pengaturan ini memengaruhi semua proyek yang Anda kerjakan. Anda tidak perlu membangun kembali aplikasi Setelah mengubah pengaturan ini. Jika Anda membuat aplikasi dari baris perintah atau dari makefile, tetapi Anda men-debug di lingkungan Visual Studio, Anda masih dapat menggunakan Edit dan Lanjutkan jika Anda mengatur /ZI opsi.

Menerapkan perubahan kode secara eksplisit

Di C++, Edit dan Lanjutkan dapat menerapkan perubahan kode dengan dua cara. Perubahan kode dapat diterapkan secara implisit, saat Anda memilih perintah eksekusi, atau secara eksplisit, menggunakan perintah Terapkan Perubahan Kode .

Saat Anda menerapkan perubahan kode secara eksplisit, program Anda tetap dalam mode jeda - tidak ada eksekusi yang terjadi.

  • Untuk menerapkan perubahan kode secara eksplisit, pada menu Debug , pilih Terapkan Perubahan Kode.

Cara menghentikan perubahan kode

Saat Edit dan Lanjutkan sedang dalam proses menerapkan perubahan kode, Anda dapat menghentikan operasi.

Untuk berhenti menerapkan perubahan kode:

  • Pada menu Debug , pilih Berhenti Menerapkan Perubahan Kode.

    Item menu ini hanya terlihat ketika perubahan kode sedang diterapkan.

    Jika Anda memilih opsi ini, tidak ada perubahan kode yang diterapkan.

Mengatur ulang titik eksekusi

Beberapa perubahan kode dapat menyebabkan titik eksekusi berpindah ke lokasi baru saat Edit dan Lanjutkan menerapkan perubahan. Fitur ini menempatkan titik eksekusi seakurat mungkin, tetapi hasilnya mungkin tidak benar dalam semua kasus.

Di C++, kotak dialog memberi tahu Anda saat titik eksekusi berubah. Anda harus memverifikasi bahwa lokasi sudah benar sebelum melanjutkan proses debug. Jika tidak benar, gunakan perintah Atur Pernyataan Berikutnya . Untuk informasi selengkapnya, lihat Mengatur pernyataan berikutnya untuk dijalankan.

Bekerja dengan kode kedaluarsa

Dalam beberapa kasus, "Edit and Continue" tidak dapat segera menerapkan perubahan kode ke executable, tetapi mungkin dapat menerapkan perubahan kode nanti jika Anda melanjutkan proses debugging. Skenario ini terjadi jika Anda mengedit fungsi yang memanggil fungsi saat ini atau jika Anda menambahkan lebih dari 64 byte variabel baru ke fungsi pada tumpukan panggilan.

Dalam kasus seperti itu, debugger terus menjalankan kode asli hingga perubahan dapat diterapkan. Kode basi muncul sebagai jendela file sumber sementara di jendela sumber terpisah, dengan judul seperti enc25.tmp. Sumber yang diedit terus muncul di jendela sumber asli. Jika Anda mencoba mengedit kode basi, pesan peringatan akan muncul.