Module 3

In this section

  • Crashing Programs
    Learn how to troubleshoot and debug crashing programs effectively, including monitoring strategies, bug reporting, and long-term fixes.
  • System Crash
    This document describes steps to diagnose and resolve system crashes, covering hardware checks, OS and application troubleshooting, and remediation planning. Focus is on isolating root causes and selecting efficient fixes.
  • Understanding Crash Application
    This document summarizes techniques to analyse application crashes using logs tracing tools, change analysis, and minimal reproduction cases. Emphasis is on isolating root causes and collecting evidence for remediation or reporting.
  • Fixing Program
    This document This document outlines practical workarounds for fixing crashing applications when source code cannot be modified, including data pre-processing compatibility wrappers, isolation, and watchdog strategies. Focus is on restoring service and producing high-quality bug reports.
  • Internal Server Error
    This document demonstrates debugging a web server returning HTTP 500 errors by investigating logs, configuration files, process information, and file permissions. Focus is on systematic investigation and root cause identification.
  • Resources For Understanding Crashes
    This document provides resources and tools for understanding computer crashes including hardware failures, OS errors, and software deficiencies. Coverage includes BSoD, system logs, Process Monitor, strace, and system call tracing across platforms.
  • Invalid Memory
    This document explains invalid memory access errors, including segmentation faults, memory management in operating systems, debugging techniques with symbols, and tools like valgrind for detection. Coverage includes common programming errors and remediation strategies.
  • Unhandled Errors
    This document explains unhandled errors and exceptions in high-level languages like Python, covering error types, tracebacks, debugging techniques, logging strategies, and making programs resilient. Focus is on proper error handling and user-friendly failure modes.
  • Working with Someone Else's Code
    This document covers strategies for understanding and fixing problems in code written by others, including reading comments and tests, navigating large codebases, and practicing with open-source projects. Essential skills for maintaining unfamiliar code.
  • Debugging Segmentation Faults
    This document demonstrates debugging segmentation faults using core files and GDB, covering commands like backtrace, up, list, and print to analyze crashes and identify off-by-one errors. Practical walkthrough of C program debugging.