What is the Travel Time Debugger principle?

Hmm ... My teacher, some of my classmates, and I'm going to build a debugger project. We hope that our debugger will be interactive, that is, when the codes are entered, the result will be displayed somewhere in a few seconds, and the result will change until the input code changes. On the other hand, during operation, we can roll back to the previous line or breakpoints .

In accordance with my teacherโ€™s word, during the programming, the method โ€œDisabling travel timeโ€ will be used. I was looking for some project that is supported by others, but I donโ€™t understand the code, and there is no indication of this method in any of these README files.

link: https://github.com/mattgodbolt/compiler-explorer

+5
source share
2 answers

This is most often referred to as "debugging while traveling" and is often associated with "Functional reactive programming." (These are terms that you can easily find.) There are some documents available on the Elm Language blog (for example, travel time has become easier ), but I would advise you to start from the very beginning, rather than diving in the middle and time to travel (understanding the pun : -))

Strictly speaking, debugging while traveling is what happens at runtime, but it is much easier if you program in a functional language (for example, Haskell, Elm, OCAML or other others for which debuggers have been implemented from time to time), and compiling these languages โ€‹โ€‹(yes, they are compiled) includes some interesting concepts.

Elm is compiled in javascript, which makes it relatively easy to experiment with.

Good luck with the project.

+7
source

Travel time debugging is also known as reverse debugging . In layman's terms, you can debug the same lines again and again (without stopping / restarting the application).

For example, you are debugging a method that has selected an exception on line 10 to find the reason for the exception, you can run this method again from the previous point, let line 4 without restarting the full debugging process. all this in real time and quite effective.

I used this feature in Visual Studio.

+1
source

Source: https://habr.com/ru/post/1263946/


All Articles