Troubleshooting Software in Production

Duration: 60 minsLevel:100 – BeginnerKeywords: .net framework, disposable, errors and exceptions, memory management, performance, threading, troubleshooting
It is inevitable (hopefully rare) that the software we write does not behave well after it goes into production. In this session we will discuss some proactive and reactive methods and tools that can be used to troubleshoot software issues when you do not have the same luxuries normally afforded to troubleshooting during development or even QA.

Presented At

Outline

  • Teaser and intro
  • What makes production so special? Troubleshooting is hard, and even harder in production. Why?
  • Presentation overview
  • Prepare Troubleshooting starts before the software is even finished.
    • During Development
      • Logs
      • Tracing Hooks
      • Critical Sections
      • try..catch..finally
      • Application Diagram
      • Versioning
      • Debug Symbols
    • During Implementation
      • System Diagrams
      • Performance Baseline
      • System Changelog
      • Remote System Access
      • Remote Debug Tools
      • External Tracing Tools
      • Collect System Info
  • Troubleshoot (Collect and Analyze)
    • First Things First
      • Get Protected
      • Track Everything
      • Use Familiar Tools
    • The Process (If there could be such a thing)
      • Reproduce the Problem
      • Narrow the Scope
      • Lose Your Ego
      • Look for Patterns
      • Remember the Problem
      • Review Historical Data
      • Guess
  • Deploy
    • Every solution must be…
      • Understood
      • Communicable
      • Stable
      • Localized
  • Types of Troubleshooting Tools
    • Real-time Debugger
    • Code-Level Tracer/Recorder
    • Monitor
    • Log Analyzer
    • Memory Dump Collector/Analyzer

Browse related presentations: .net framework, disposable, errors and exceptions, memory management, performance, threading, troubleshooting

Leave a Reply