Хм … Мой учитель, некоторые мои одноклассники и я собираемся построить проект отладчика. Мы надеемся, что наш отладчик является интерактивным, то есть, когда набираются коды, результат будет отображаться где-то через несколько секунд, а результат изменяется при изменении входного кода. С другой стороны, во время бега мы можем
откат к прежней линии или точкам останова.
По словам моего учителя, при программировании будет задействована техника «Отладка во времени». Я искал какой-то проект, который поддерживали другие, но я плохо понимаю код, и ни в одном из этих файлов README нет никаких сведений об этой технике.
Это чаще всего известно как «отладка во времени» и часто ассоциируется с «Функциональным реактивным программированием». (Это те термины, которые вы можете легко найти.) На Язык вязов блог (например, путешествие во времени стало проще), но я бы посоветовал вам начать с самого начала, а не погружаться в середину, и вам придется путешествовать во времени по своему пониманию (каламбур намеревался :-))
Строго говоря, отладка путешествий во времени — это то, что происходит во время выполнения, но намного проще, если вы программируете на функциональном языке (таком как Haskell, Elm, OCAML или другие, для которых были реализованы отладчики путешествий во времени), и компиляция этих языков (да, они компилируются) включает в себя некоторые интересные концепции.
Elm компилируется в javascript, что позволяет относительно легко экспериментировать.
Веселитесь с проектом.
Отладка путешествий во времени также известен как обратная отладка. С точки зрения непрофессионала, вы можете отлаживать одни и те же строки снова и снова (без остановки / перезапуска приложения).
Например, вы отлаживаете метод, который вызвал исключение в строке 10, чтобы найти причину исключения, вы можете снова выполнить этот метод с предыдущей точки, скажем, в строке 4, не перезапуская весь процесс отладки. это все в режиме реального времени и довольно эффективно.
Я использовал эту функцию в Visual Studio.