Baru-baru ini Mozilla mengeluarkan alat, yang dikeluarkan melalui laman web baru (pautan ini). Dipanggil sebagai Main semula Firefox, Mozilla mempersembahkannya sebagai alat penyahpepijatan baru yang sudah disertakan dalam Firefox versi Nightly, tetapi pada masa ini ia hanya tersedia untuk MacOS.
"Main Ulang Web" adalah projek yang membolehkan proses kandungan Firefox merakam tingkah laku mereka, menghasilkannya kemudian dan mundur ke keadaan sebelumnya. Proses main balik mengekalkan tingkah laku JS yang sama, struktur DOM, kemas kini grafik, dan kebanyakan tingkah laku lain yang berlaku semasa rakaman. Debugger JS penyemak imbas boleh digunakan untuk memeriksa dan mengawal main balik.
Mozilla mengatakan bahawa garis masa fungsi main balik menunjukkan pelbagai titik dalam masa nyata, seperti pengecualian, peristiwa, dan permintaan jaringan, sehingga memudahkan "menjeda dan memeriksa ulangan."
Juga, kerana diandaikan bahawa fungsi ulangan harus digunakan oleh pemaju, Rekod fungsi main balik dapat disimpan dan dibaca.
Oleh kerana kesalahan yang dialami dalam pembangunan web tidak selalu mudah dibuat semula, jadi cenderung sukar bagi orang lain untuk mengesahkan dan kerja-kerja penyahpepijatan mungkin tidak dilakukan dengan perlahan, tetapi ketika merakam operasi dengan fungsi main balik dan bagikan rakaman dengan yang lain, kecekapannya juga sangat baik.
Dengan memasukkan alat seperti Firefox Replay, Mozilla dapat menarik lebih banyak pembangun ke penyemak imbas anda. Ini akan meningkatkan bilangan laman web yang diuji di Firefox.
Ini akan memberikan pengalaman yang lebih baik.a untuk pengguna Firefox biasa yang sebaliknya akan beralih ke penyemak imbas pesaing. Sebagai tambahan kepada gambaran keseluruhan halaman utama Firefox Replay, anda boleh mendapatkan maklumat yang lebih terperinci di laman web pembangun Mozilla.
Dalam praktiknya, pembiakan dibenarkan di kawasan berikut:
- Komponen IPC dan debugger dapat membuat peruntukan timbunan dan oleh itu mungkin berbeza antara rakaman dan main balik.
- JS build dan beberapa keadaan dalaman lain dipengaruhi oleh kehadiran debugger dan sambungan / breakpoint apa yang aktif, jadi ia boleh berbeza antara rakaman dan main balik.
- Penyahpepijat dapat menetapkan elemen GC, dan penugasan elemen GC lain boleh berbeza dengan adanya debugger. Contohnya, menyusun skrip melibatkan pemetaan.
Di samping itu, ia juga membolehkan pilihan lanjutan:
- devtools.recordreplay.enableRewinding Apabila dilumpuhkan, Firefox mendaftarkan halaman dengan lebih cepat. lalai benar .
- devtools.recordreplay.fastLogpoints Apabila diaktifkan, Firefox Replay menilai titik log berturut-turut. Titik rakaman tidak boleh mempunyai kesan sampingan atau menyimpang dari rakaman dengan cara lain dalam mod ini. secara lalai palsu.
- devtools.recordreplay.logging Apabila diaktifkan, Firefox akan log tindakan Replay dalaman di terminal, yang berguna ketika debug hang dan crash. lalai palsu
Replay Web setakat ini termasuk dalam Firefox versi Nightly, hingga lebih stabil. Walaupun fungsinya disertakan, fungsi ini dilumpuhkan secara lalai, tetapi ia boleh diaktifkan dengan pilihan "devtools.recordreplay.enabled".
Fungsi mana yang diakses melalui menu Alat -> Pembangun Web, dan melalui antara muka debugging baru yang diaktifkan ketika tab rakaman dan main balik ditampilkan.
Seperti yang dinyatakan di awal kerja penyebaran setakat ini dilakukan di macOS, tetapi Mozilla sudah berusaha untuk melaksanakan alat dalam versi untuk Windows. Walaupun untuk Linux tidak ada yang disebutkan.
Baiklah Mozilla komen yang berfungsi untuk sistem lain sukar ditemui API pustaka sistem ditetapkan untuk memintas, dalam membuat pengurusan memori dan bahagian memori kotor dari infrastruktur mundur berfungsi, dan dalam menangani jalur grafik dan IPC yang berbeza pada platform yang berbeza.