In compiled languages, the evaluation of the expression can be difficult/impossible to write because of this (not enough type information available, validation is late binding meaning mistakes are extra expensive, etc.Īt the end of the day, when your tools fail you, print debugging is easier to use to accomplish the task rather. Debuggers (or at least the C/C++ ones) are slow in how they inject instrumentation code to evaluate - rather than compiling expressions into native codes to conditionally trap, they seem to trap unconditionally and evaluate the conditional using their introspection language (there are valid reasons why it’s done this way but it has serious performance impacts). Reverse debugging isn’t available on all platforms/languages. Tooling availability is inconsistent, which is why such approaches don’t always work. In my experience the conditions on the ground are different though. In those cases RR seems like the best idea rather than prints. ![]() ![]() Setting a breakpoint that prints and continues is appropriate if performance doesn’t matter.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |