✍️
Notes.md
  • Table of contents
  • React.Js
    • React Hooks
    • Old :- React : Using Classes
  • Blockchain
    • Solidity
    • Custom ERC20 token
    • Contract
  • Tools and Tech
    • Docker
    • Git version Control
  • Java
    • Data & Data Types
    • IO in Java
    • Data Structures
      • Array in Java
      • Collections in Java
      • Map in Java
      • Enums in Java
      • Linked List in Java
      • List in Java
      • Queues & Stacks
      • Set in Java
      • TreeSet and TreeMap
    • Object Oriented Programming
      • Object Class Methods and Constructor
      • Immutable Class & Objects
      • Constructors
      • Visibility
      • Generics
    • Threads in Java
    • Useful Stuff Java
      • Lambda & Stream
    • Keywords in Java
      • Annotations
      • Comparators
      • Packages in Java
    • Miscellaneous
    • Articles to refer to
  • Golang
    • Competitive Programming in Go
    • Testing simple web server
    • Learning Go : Part 1
    • Maps vs slices
    • Golang Garbage Collector 101
    • Things Golang do differently
    • Go Things
  • Linux
    • Shell programming
    • Linux Commands Part 1 - 4
    • Linux Commands Part 5 - 8
    • Linux Commands Part 9 - 10
  • Software Design
    • Solid Design
    • OOPS
    • Design Patterns
      • Creational Design Pattern
        • Builder DP
        • Factory DP
        • Singleton DP
      • Adapter DP
      • Bridge DP
      • Iterator DP
      • State DP
      • Strategy DP
      • Behavioral Design Pattern
        • Observer DP
      • Structural Design Pattern
        • Facade DP
  • Cloud
    • Google Cloud Platform
      • GCP Core Infrastructure
      • Cloud Networking
  • Spring Boot
    • Spring Basics
      • Spring Beans
      • Important Annotations
      • Important Spring Things
      • Maven Things
      • Spring A.O.P
    • Spring Boot Controller
      • Response Entity Exception Handling
    • Spring Things
    • Spring MVC
    • Spring Data
      • Redis
      • Spring Data JPA
      • JDBC
    • Apache Camel
  • Miscellaneous
    • Troubleshooting and Debugging
Powered by GitBook
On this page
  • Troubleshooting and Debugging
  • Main steps to solving any issue ?
  • Isolating the root cause is super important

Was this helpful?

  1. Miscellaneous

Troubleshooting and Debugging

Troubleshooting and Debugging

Troubleshooting : the process of identifying, analyzing and solving problems

Debugging : the process of identifying, analyzing and removing bugs in a system

  • Troubleshooting is for infrastructure

    • tcpdump, wireshark

    • strace, ltrace

    • ps, top etc

  • Debugging : is for Software application

  • Debugger : follows the code line by line , inspect changes in variable assignments, interrupt the program when a specific condition is met and more

Steps to solve any issue

  • Getting Information to understand the problem

  • Isolate and finding the root cause

  • Performing the necessary remediation

  • Document what we do

    • The different things we tested to try

    • Figure out the root cause.

    • The steps we took to fix the issue.

strace : to trace system calls made by the program

  • o file.strace : to save output of trace to a file

Main steps to solving any issue ?

Isolating the root cause is super important

  • Load average : amount of time the process is busy in a minute

  • load average 1 means it was busy for whole min.

  • shouldn’t be above the amount of process in computer

Reproduction Case

  • Read the logs

  • Linux

    • /var/log/syslog

    • .xsession-errors

  • MacOS : Library/Logs/

  • Windows : EventViewer

Our solution dont come up by wandering about things, we have to look at information to plug things into our knowledge graph. looking at error messages or documentation

Get a reproduction, try to isolate the problem

Understanding the root cause is super important

  • iostat :

  • iotop :

  • vmstat :

  • ionice :

  • iftop :

  • rsync -bwlimit

  • trickle

  • ab

  • nice & renice

  • time

  • kill command

Like isolating causes, understanding error messages, adding logging information, and generating new ideas for possible failures.

First apply intermittent solution, then apply the full solution

PreviousMiscellaneous

Last updated 1 year ago

Was this helpful?

https://www.coursera.org/learn/troubleshooting-debugging-techniques/lecture/KjI30/internal-server-error
Questions to ask