Versi pratinjau Time Travel Debugging (TTD) di Visual Studio Enterprise 2019 memungkinkan Anda untuk merekam eksekusi aplikasi web yang berjalan pada mesin virtual Azure, dan kemudian secara akurat mengembalikan dan mereproduksi algoritma. TTD terintegrasi dengan penawaran
Snapshot Debugger kami dan memungkinkan Anda untuk mundur dan memainkan setiap baris kode sebanyak yang Anda suka, membantu mengidentifikasi dan memprediksi masalah yang hanya dapat terjadi di lingkungan tempur.
Gambar diambil dari halaman game Quantum Break (18+) di Microsoft Store. Omong-omong, ada diskon 75% untuk itu ($ 10). Jika seseorang menginginkan tetapi tidak dapat menemukan peluang, kami merekomendasikannya.
Jenis debugging yang paling efisien sering terjadi dalam apa yang disebut "lingkaran dalam". Ketika Anda melihat dan men-debug kode secara lokal sebelum Anda beralih ke kontrol versi. Masalah yang kita hadapi selama pengembangan siklus internal biasanya lebih mudah dipahami dan didiagnosis karena mereka dapat diakses dan diulang.

Hari ini, kami dengan bangga mengumumkan rilis Time Travel Debugging (TTD) di Visual Studio Enterprise. Dengan TTD, kami memberi Anda kesempatan untuk menulis kode yang dieksekusi di lingkungan produksi dan untuk mereproduksi jalur eksekusi di dalam Visual Studio. TTD juga memberi Anda kemampuan untuk bergerak maju dan mundur dalam waktu, seolah-olah Anda sedang melakukan debugging lokal "loop batin". Anda juga mendapatkan akses ke fitur debugging penting seperti penduduk lokal dan tumpukan panggilan.
Debugger modern biasanya memungkinkan Anda untuk berhenti pada titik tertentu (breakpoint), mengganggu seluruh proses, dan hanya kemudian bergerak maju. Bahkan dengan
alat debugging yang lebih
canggih seperti IntelliTrace , Anda merekam acara dan data pada titik waktu yang berbeda. TTD memiliki keunggulan yang signifikan dibandingkan dengan snapshot, logging, atau crash dump file, karena metode ini biasanya tidak mengandung informasi yang akurat tentang jalur eksekusi yang mengarah pada kegagalan atau kesalahan akhir.
Apa itu Debugging Perjalanan Waktu?
Time Travel Debugging (TTD) adalah solusi debugging terbalik yang memungkinkan Anda merekam eksekusi kode dalam aplikasi atau proses dan memainkannya bolak-balik. TTD meningkatkan debugging, karena Anda dapat kembali ke masa lalu untuk lebih memahami kondisi yang mengarah pada kesalahan tertentu. Selain itu, Anda dapat memainkannya beberapa kali untuk mengetahui cara terbaik untuk memperbaiki masalah.
Teknologi TTD baru-baru ini diperkenalkan dalam versi pratinjau WinDbg untuk skrip dengan kode asli .
Kami telah memperluas Snapshot Debugger dengan TTD sehingga Anda dapat merekam aplikasi saat dijalankan. Catatan ini kemudian dapat diputar di Visual Studio Enterprise 2019, di mana Anda dapat memundurkan dan memainkan setiap baris kode sebanyak yang Anda suka. TTD menulis ke utas yang memenuhi kondisi snappoint dan biasanya dieksekusi sampai akhir metode. Tetapi jika sebelum akhir metode setelah snappoint ada "menunggu", rekaman akan dihentikan. Fitur ini akan berada dalam pratinjau untuk rilis Visual Studio 2019 dengan lisensi yang valid. Kami berencana untuk menambahkan lebih banyak skrip TTD di pembaruan mendatang.
Memulai dengan TTD
Preview Time Travel Debugging dapat diaktifkan di versi terbaru dari Visual Studio Enterprise 2019 untuk mesin virtual Azure yang menjalankan Windows dengan ASP.NET (4.8+).
Setelah menginstal versi terbaru dari Visual Studio Enterprise, selesaikan langkah-langkah berikut:
1. Buka proyek yang membutuhkan Time Travel Debug - pastikan Anda memiliki versi kode sumber yang sama yang diterbitkan pada mesin virtual Azure.
2. Pilih
Debug> Lampirkan Snapshot Debugger dan pilih mesin virtual Azure tempat proyek Anda digunakan bersama dengan akun penyimpanan Azure. Pertama kali Anda mencoba terhubung, Anda harus menginstal ekstensi situs Snapshot Debugger.
3. Pilih opsi
Debug Travel Time dan klik tombol
Lampirkan . Setelah Visual Studio memasuki mode Snapshot Debugger, itu akan dapat merekam menggunakan TTD.

4. Buat snappoint dan konfigurasikan untuk mengaktifkan Debugging Perjalanan Waktu. Klik
Mulai \ Perbarui Koleksi .

5. Setelah Snapshot Anda dikompilasi, klik
Lihat Snapshot , dan Anda dapat menggunakan bilah perintah untuk bolak-balik dalam metode yang direkam.
Batasan Pratinjau TTDPada tahap pratinjau awal TTD, kami akan mendukung aplikasi web AMD64 yang berjalan pada mesin virtual Azure. Kami mengharapkan entri untuk menambahkan overhead signifikan ke proses Anda berjalan, memperlambatnya tergantung pada ukuran proses dan jumlah utas aktif. Kami juga memperkirakan degradasi debug pada beberapa skenario berikut:
- Selama fase pemadatan GC.
- Melewati metode yang dioptimalkan, misalnya, ketika Anda memasukkan metode yang tidak mengandung snappoint.
- Jika aplikasi Anda mengunduh atau membongkar domain aplikasi secara internal.
- Rekaman hanya terjadi di aliran yang dipanggil oleh snappoint. Kode yang kemudian mempengaruhi utas alternatif juga akan terdegradasi.
Harap perhatikan: kami juga tidak akan merekam hubungan sebab dan akibat yang tidak sinkron.
Selama pengujian awal, kami menemukan bahwa ukuran file TTD berkisar dari beberapa ratus megabyte hingga beberapa gigabytes, tergantung pada durasi sesi dan durasi aplikasi web. Namun, file yang dibuat oleh TTD akan dibersihkan setelah sesi Snapshot Debugger selesai dan kumpulan aplikasi dimulai kembali. Untuk pra-rilis kami, kami juga merekomendasikan menggunakan mesin virtual dengan setidaknya 8 GB RAM.
Coba TTD sekarang!
Kami sangat gembira tentang bagaimana fitur pratinjau ini dapat membantu Anda meningkatkan debugging di Azure, tetapi ini baru permulaan. Tim kami terus mengembangkan dan membuat fitur TTD tambahan yang kami rencanakan untuk ditambahkan dalam rilis Visual Studio mendatang.
Kami menantikan tanggapan Anda!