Ana içeriğe geç
Programlama

Rewind VM yazılım hata ayıklamayı deterministik sanal makineyle yeniden tanımlıyor

Öne çıkanlar

  • Rewind VM, Nix girdilerini kullanarak derlemeleri deterministik bir ortamda adım adım yeniden oynatıyor.
  • debuginfod entegrasyonu sayesinde sanal makinedeki ikili dosyalar kaynak kodlarıyla birlikte eşleşiyor.
  • Geliştirici, farklı iş parçacığı zamanlamalarını çatallayarak yarış koşullarını 11 saniyede izole etti.

Geliştirici, Nix paket yöneticisinin sunduğu hermetik ve tekrarlanabilir yapı özelliklerini kullanarak Rewind VM adlı deterministik sanal makine aracını geliştirdiğini duyurdu. Araç, derleme adımlarındaki yarış koşullarını ve eşzamanlılık hatalarını adım adım izole ederek birebir yeniden canlandırmayı sağlıyor. Sistem, girdi parametreleri, çekirdek konfigürasyonu ve kütüphaneler dahil olmak üzere tüm yürütme sürecini tek bir saf fonksiyon mantığıyla ele alıyor.

Sistem, Nix türevlerinin kaynak kodları ve hata ayıklama sembollerini saklama yapısını doğrudan kullanıyor. nixpkgs üzerinden sağlanan debuginfod altyapısıyla Linux çekirdeği dahil çalışan tüm ikililerin kaynak kodları eşzamanlı olarak görüntülenebiliyor. Aracın sunduğu zaman çizelgesi, gdb çatallanması ve adımlar arası işlemci sahipliği analizi gibi yetenekler, hatalı iş parçacığı geçişlerini saniyeler içinde tespit etmeyi kolaylaştırıyor.

Geliştirici tarafından paylaşılan banka hesabı örneğinde, 16 farklı iş parçacığı zamanlama denemesi yapılarak başarısız olan adım 11 saniyede netleştirildi. Geliştirici, Nix altyapısının hata ayıklayıcıların ihtiyaç duyduğu karmaşık girdi paketleme ve sembol çözme yükünü tek başına üstlendiğini belirtti.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.