Отладка путешествия во времени - Time travel debugging

Отладка путешествия во времени или же отладка во времени это процесс отступления во времени через исходный код понять, что происходит во время исполнение из компьютерная программа.[1] Обычно отладка и отладчики, инструменты, которые помогают пользователю в процессе отладки, позволяют приостанавливать выполнение запущенных программного обеспечения и проверить текущее состояние программы.[2] Затем пользователи могут шагнуть вперед во времени, войдя или переступив заявления и двигаясь вперед.[3] Интерактивные отладчики включают возможность изменять код и продвигаться вперед на основе обновленной информации.[4] Обратная отладка инструменты позволяют пользователям шагнуть назад во времени через шаги, которые привели к достижению определенной точки в программе. Путешествующие во времени отладчики предоставляют эти функции, а также позволяют пользователям взаимодействовать с программой, при желании изменять историю и наблюдать за реакцией программы.[5]

Характеристики, поддерживающие двунаправленное движение

Есть несколько характеристик, которые поддерживают способность двигаться вперед и назад во времени.

  • Выбор чисто функциональное программирование язык помогает из-за замкнутой природы чистые функции. Чистые функции не имеют побочные эффекты и зависеть только от информации, явно предоставленной функции, обеспечивая повторяемый, надежный и воспроизводимый путь через код.
  • Языки и отладчики, которые позволяют горячая замена, возможность изменять код во время выполнения кода, обеспечивать некоторые требования, необходимые для перемотки назад и, возможно, перезаписывать выполнение.[6][7]
  • Инструменты на основе Отладчик GNU (GDB), доступно для совместимых языков, таких как C, C ++, Идти, и Фортран могут выполнять обратную отладку, но это значительно замедляет взаимодействие.[8]

Отладчики путешествия во времени

Отладчики с возможностью перехода назад включают:

Смотрите также

Рекомендации

  1. ^ «Отладка путешествия во времени в WinDbg Preview!». Инструменты отладки для Windows. Получено 2018-05-08.
  2. ^ Теллес, Мэтью; Се, Юань (2001-04-01). Наука отладки. Книги группы Кориолиса.
  3. ^ «Обратная отладка, отладка путешествия во времени». undo.io. Получено 2018-05-08.
  4. ^ «Интерактивная отладка с помощью Node.js - DZone Web Dev». dzone.com. Получено 2018-05-08.
  5. ^ а б "Путешествующий во времени отладчик Вяза". debug.elm-lang.org. Получено 2018-05-08.
  6. ^ «интерактивное программирование». elm-lang.org. Получено 2018-05-08.
  7. ^ «Горячая перезагрузка и отладка путешествий во времени: что это такое?». Код Мультфильмы. 2015-10-21. Получено 2018-05-08.
  8. ^ «6 вещей, которые вы должны знать об отладке путешествия во времени». undo.io. Получено 2018-05-08.
  9. ^ "путешествие во времени стало проще". elm-lang.org. Получено 2018-05-08.
  10. ^ Пончик, Фокс (2018-04-29). «Вам не нужны Redux, MobX, RxJS, Cerebral». Лиса пончик. Получено 2018-05-24.
  11. ^ ДОМАРС. «Отладка путешествия во времени - Обзор». docs.microsoft.com. Получено 2018-05-08.
  12. ^ https://www.microsoft.com/en-us/p/windbg-preview/9pgjgd53tn86?activetab=pivot:regionofsystemrequirementstab
  13. ^ "ProvTools / provDebugR". github.com. 2018-07-31. Получено 2018-07-31.
  14. ^ «Введение в Wallaby.js: отладчик путешествия во времени». wallabyjs.com. Получено 2020-02-27.
  15. ^ "О RevDeBug". revdebug.com. Получено 2020-03-28.