JS Guide
HomeQuestionsSearchResources
Search

Built for developers preparing for JavaScript, React & TypeScript interviews.

ResourcesQuestionsSupport
HomeQuestionsSearchProgress
HomeQuestionstooling
PrevNext
tooling
mid
debugging

What debugging tools and techniques should you know?

debugging
devtools
console
breakpoints
Quick Answer

Use Chrome DevTools for debugging (Sources panel, breakpoints, watch expressions), console methods beyond log (table, trace, time), debugger statement, VS Code debugger with launch configs, and React/Vue DevTools for framework-specific debugging.

Detailed Explanation

Chrome DevTools:

  • Sources panel for breakpoints
  • Network panel for requests
  • Performance panel for profiling
  • Application panel for storage

Console Methods:

  • console.log, warn, error
  • console.table for arrays/objects
  • console.trace for stack traces
  • console.time/timeEnd for timing
  • console.group for grouping

Breakpoints:

  • Line breakpoints
  • Conditional breakpoints
  • DOM breakpoints
  • XHR breakpoints
  • debugger statement

Code Examples

Console debugging techniques
// Basic logging with formatting
console.log('Value:', value);
console.log('%c Styled', 'color: blue; font-size: 20px');

// Table for arrays/objects
const users = [{name: 'Alice', age: 25}, {name: 'Bob', age: 30}];
console.table(users);
console.table(users, ['name']); // Only show name column

// Stack trace
function foo() {
  function bar() {
    console.trace('Trace from bar');
  }
  bar();
}
foo();

// Timing
console.time('fetch');
await fetch('/api/data');
console.timeEnd('fetch'); // fetch: 123.456ms

// Grouping
console.group('User Details');
console.log('Name:', user.name);
console.log('Email:', user.email);
console.groupEnd();

// Conditional logging
console.assert(value > 0, 'Value should be positive');

// Count calls
function processItem() {
  console.count('processItem called');
}

Resources

Chrome DevTools

docs
Previous
How do you set up CI/CD for a JavaScript project?
Next
How do you set up a testing environment with Jest?