Part II: Observing Executions

In this part, we show how to observe executions – by tracing, by interactively debugging, and more.

  • Tracing Executions presents a number of ways to observe executions by logging locations and program states – and by narrowing these down to specific conditions and events.

  • How Debuggers Work shows how to build an interactive debugger, allowing you to explore program executions at will.

  • In Asserting Expectations, we show how to have the computer check for errors at runtime – including pesky memory errors in C and similar languages.

  • Debugging Performance Issues shows how to detect which parts of a program require most resources.

Creative Commons License The content of this project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. The source code that is part of the content, as well as the source code used to format and display that content is licensed under the MIT License. Last change: 2021-03-02 19:04:44+01:00CiteImprint