Debugowanie podróży w czasie - Time travel debugging

Debugowanie czas podróży lub czas podróży debugowanie jest procesem cofanie się w czasie za pośrednictwem kodu źródłowego , aby zrozumieć, co dzieje się w trakcie realizacji z programu komputerowego . Zazwyczaj debugowanie i debugery , narzędzia pomagające użytkownikowi w procesie debugowania, umożliwiają użytkownikom wstrzymanie wykonywania uruchomionego oprogramowania i sprawdzenie bieżącego stanu programu. Użytkownicy mogą następnie przejść do przodu w czasie, przechodząc do lub nad stwierdzeniami i postępując w kierunku do przodu. Debugery interaktywne obejmują możliwość modyfikowania kodu i przechodzenia do przodu na podstawie zaktualizowanych informacji. Narzędzia do debugowania wstecznego umożliwiają użytkownikom cofanie się w czasie przez kroki, które doprowadziły do ​​osiągnięcia określonego punktu w programie. Debugery podróżujące w czasie zapewniają te funkcje, a także umożliwiają użytkownikom interakcję z programem, zmianę historii w razie potrzeby i obserwowanie, jak program reaguje.

Charakterystyka wspierająca podróż w obie strony

Istnieje kilka cech, które wspierają zdolność do poruszania się w czasie zarówno do tyłu, jak i do przodu.

  • Wybór czysto funkcjonalnego języka programowania pomaga ze względu na samowystarczalność czystych funkcji . Czyste funkcje nie mają skutków ubocznych i zależą tylko od informacji wyraźnie dostarczonych do funkcji, zapewniając powtarzalną, niezawodną i odtwarzalną ścieżkę w kodzie.
  • Języki i debugery, które umożliwiają wymianę na gorąco , możliwość modyfikowania kodu w trakcie działania kodu, zapewniają niektóre wymagania niezbędne do przewijania i potencjalnie ponownego zapisu wykonania.
  • Narzędzia oparte na debuggerze GNU (GDB) , dostępne dla kompatybilnych języków, takich jak C , C++ , Go i Fortran , są zdolne do odwrotnego debugowania, ale wysiłek ten znacznie spowalnia interakcję.

Debugery podróży w czasie

Debugery z możliwością cofania się obejmują:

Zobacz też

Bibliografia