rr (debugowanie)
W informatyce rr to narzędzie do debugowania dla systemu Linux przeznaczone do rejestrowania i odtwarzania wykonywania programów . Podczas fazy odtwarzania rr zapewnia ulepszone środowisko debugowania gdb , które obsługuje wykonywanie odwrotne.
rr został pierwotnie opracowany przez Mozillę w celu debugowania przeglądarki Mozilla Firefox na zwykłym sprzęcie i oprogramowaniu. rr jest obecnie szeroko używany poza Mozillą i umożliwia debugowanie oprogramowania, takiego jak Google Chrome , QEMU i LibreOffice . rr jest darmowym oprogramowaniem .
Projekt
Podczas fazy nagrywania rr rejestruje wszystkie wejścia z jądra do grupy procesów Linuksa, a także niedeterministyczne efekty procesora (takie jak rdtsc ). Dane wejściowe są rejestrowane na dysku i stają się „śladem”. Po zarejestrowaniu śladu można go odtwarzać tyle razy, ile potrzeba, a wszystkie stany zostaną dokładnie odtworzone. Podczas odtwarzania rr będzie działać jako serwer gdb , zapewniający obsługę gdb z możliwością odwrotnego wykonania. Ponieważ błąd może być odtwarzany wielokrotnie, rr udostępnia nowe metody debugowania problemów, które są bardzo trudne do rozwiązania za pomocą tradycyjnych debugerów.
Projekt rr jest udokumentowany w artykule „ Lekki zapis i odtwarzanie w przestrzeni użytkownika” , a więcej szczegółów można znaleźć w artykule „ Zapis inżynieryjny i powtórka pod kątem możliwości wdrożenia” .