Goals

  1. A word on monitoring, tracing, debugging.

  2. Modern approaches for tracing, logging and auditing.

  3. Understanding interfaces within and between programs and environments. Remember: every problem in computer science is solved with one more level of indirection. And interfaces are the locations where program flow can be re-directed.

  4. Monitoring Levels

  5. Different techniques for monitoring

  6. Performance and memory tracking. How garbage collection works will be explained in detail in our session on virtual memory. Here we will do wiht the basic concept of memory colloring to find wrong reads/writes.

  7. There are still developers out there using printf/println for DEBUGGING or LOGGING. After these slides I don't want to see this practice EVER again in your work!. The basics of debugging (breakpoints, stack, threads).