Troubleshooting and debugging are two concepts programmers need to learn and distinguish between. You not only need to understand the two terms, but understand how they differ and know the common traits they share. It separates the wheat from the chaff. You need to know how to understand how to work with these terms.

What is troubleshooting?

Troubleshooting is a process that helps people identify issues or problems occurring in a system.

  • It’s a process of parsing out the items that are causing problems and interviewing end users to find out what steps they took to cause the problems.

Use tools, but don’t depend on them in isolation

Tools can help you identify where problems are happening

  • Stackify Retrace
  • Deployment Tracking
  • It is capable of reporting deployments on multiple servers and you can drill down to get to the heart of the problem

Help others find the problem

When you’re confident your code is not causing the bugs, offer to help others find problems

Use a bug tracking solution

Bug tracking is a great way to capture problems that team members have experienced and fixed

  • It is time to use it. Find a solution that is easy to use, will encourage participation from the team, and will help you remember what you had for lunch three months ago

Start with debugging techniques

Knowing how to troubleshoot at a high level is helpful, but, you will spend more time debugging.

Debugging and Troubleshooting with Stackify

Tools to help with troubleshooting and debugging are getting more sophisticated

  • Retrace can help development teams troubleshoot
  • Prefix helps developers find and fix bugs as they are developing their code
  • Build on the foundation of Continuous Integration and Continuous Delivery
  • Debugging small feature sets is enhanced by Prefix

Find what has changed

Programmers jump into the code prematurely, often in response to an irate client or a stressed-out manager

  • If they put on their operations cap while exploring the problem, they may discover it has nothing to do with the code
  • Look at configuration files to see what changes occurred if any

Give everyone else the benefit of the doubt when debugging

When you start developing code, you will find that your code will be the culprit more often than you care to believe

  • Make sure it’s not your code that is causing the situation
  • If your code causes problems, you cannot save face if you declared it bug-free

What is debugging?

Debugging is a subset of troubleshooting

  • It requires finding problems as they relate to computer code
  • As a programmer, you find what is causing the problem and then fix it
  • The process is abstracted when many of your servers exist in a third-party cloud environment

What is the difference between troubleshooting and debugging?

Troubleshooting is a subset of debugging.

  • It involves discovering and fixing a problem at the same time, when possible.
  • Debugging is meant to discover and fix a problem all in the same session, whenever possible.

Don’t rule out using the print statement

Print statements are common in most programming languages and allow developers to display values to the intended output stream.

  • They are perfect for using as part of a basic debug method if you are unfamiliar with the tool.

Source