Bird
Raised Fist0
Node.jsframework~20 mins

Debugging with VS Code in Node.js - Practice Questions

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
VS Code Debugging Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🔧 Debug
intermediate
2:00remaining
Identify the cause of the breakpoint not hitting
You set a breakpoint in VS Code on line 5 of your Node.js file, but when you run the debugger, it never pauses there. What is the most likely reason?
Node.js
console.log('Start');
function greet() {
  console.log('Hello');
}
greet();
console.log('End');
AThe code has a syntax error before line 5.
BThe file is not saved before starting the debugger.
CThe breakpoint is set on a comment line.
DThe debugger is not attached to the running process.
Attempts:
2 left
💡 Hint
Check if the debugger is connected to the right process.
component_behavior
intermediate
1:30remaining
What happens when you use 'console.log' inside a VS Code debug session?
During a Node.js debug session in VS Code, you add console.log statements inside your code. Where will the output appear?
Node.js
console.log('Debugging output');
AIn the Terminal panel of VS Code.
BIn the Debug Console panel of VS Code.
CIn a popup alert window.
DIn the Problems panel of VS Code.
Attempts:
2 left
💡 Hint
Think about where debug output usually shows in VS Code.
📝 Syntax
advanced
2:30remaining
Which launch.json configuration correctly starts a Node.js debug session?
You want to debug a Node.js file named app.js using VS Code. Which launch.json snippet will correctly launch the debugger?
A{ "type": "node", "request": "launch", "name": "Launch Program", "program": "${workspaceFolder}/app.js" }
B{ "type": "node", "request": "attach", "name": "Attach to Program", "program": "app.js" }
C{ "type": "node", "request": "launch", "name": "Start Debug", "file": "app.js" }
D{ "type": "node", "request": "start", "name": "Run Debug", "program": "app.js" }
Attempts:
2 left
💡 Hint
Check the correct keys for launch configuration.
state_output
advanced
2:00remaining
What is the value of 'count' when the debugger pauses at the breakpoint?
Consider this Node.js code with a breakpoint on line 6. What is the value of 'count' when paused there?
Node.js
let count = 0;
for(let i = 0; i < 3; i++) {
  count += i;
  debugger;
}
console.log(count);
A1
B0
C6
D3
Attempts:
2 left
💡 Hint
The breakpoint on line 6 is after the loop; calculate the final value of count.
🧠 Conceptual
expert
3:00remaining
Why use 'sourceMaps' in VS Code debugging for Node.js?
You are debugging a Node.js app written in TypeScript using VS Code. Why is setting "sourceMaps": true in launch.json important?
AIt allows the debugger to map the compiled JavaScript back to the original TypeScript source code.
BIt speeds up the debugging process by skipping source files.
CIt enables debugging of external libraries automatically.
DIt disables breakpoints in JavaScript files.
Attempts:
2 left
💡 Hint
Think about how TypeScript compiles to JavaScript and how debugging works.

Practice

(1/5)
1. What is the main purpose of setting a breakpoint in VS Code when debugging a Node.js application?
easy
A. To speed up the execution of the program
B. To automatically fix syntax errors in the code
C. To convert JavaScript code into machine code
D. To pause the program at a specific line to inspect variables and program flow

Solution

  1. Step 1: Understand what a breakpoint does

    A breakpoint pauses the program execution at a chosen line so you can check what is happening.
  2. Step 2: Identify the purpose in debugging

    Pausing lets you inspect variables and see how the program flows step-by-step.
  3. Final Answer:

    To pause the program at a specific line to inspect variables and program flow -> Option D
  4. Quick Check:

    Breakpoint = Pause and inspect [OK]
Hint: Breakpoints pause code to check variables and flow [OK]
Common Mistakes:
  • Thinking breakpoints fix errors automatically
  • Believing breakpoints speed up code
  • Confusing breakpoints with code compilation
2. Which of the following is the correct way to start debugging a Node.js app in VS Code using the launch.json file?
easy
A. { "type": "node", "request": "run", "program": "${workspaceFolder}/app.js" }
B. { "type": "node", "request": "launch", "program": "${workspaceFolder}/app.js" }
C. { "type": "node", "request": "compile", "program": "app.js" }
D. { "type": "python", "request": "launch", "program": "app.js" }

Solution

  1. Step 1: Check the correct debug type for Node.js

    The type must be "node" to debug Node.js applications.
  2. Step 2: Verify the request and program fields

    "request" should be "launch" to start debugging, and "program" points to the main file with workspace variable.
  3. Final Answer:

    { "type": "node", "request": "launch", "program": "${workspaceFolder}/app.js" } -> Option B
  4. Quick Check:

    Node debug launch with correct program path [OK]
Hint: Use type 'node' and request 'launch' in launch.json [OK]
Common Mistakes:
  • Using wrong type like 'python' for Node.js
  • Using 'compile' or 'run' instead of 'launch'
  • Not using workspaceFolder variable for program path
3. Consider this Node.js code snippet debugged in VS Code with a breakpoint on line 3:
1 const x = 5;
2 const y = 10;
3 const sum = x + y;
4 console.log(sum);

When paused at the breakpoint on line 3, what will be the value of sum in the debugger?
medium
A. undefined
B. 15
C. 5
D. Error: sum is not defined

Solution

  1. Step 1: Understand when the breakpoint pauses execution

    The breakpoint on line 3 pauses before executing that line, so sum is not yet assigned.
  2. Step 2: Determine the value of sum at pause

    Since line 3 hasn't run, sum is declared but not assigned, so its value is undefined.
  3. Final Answer:

    undefined -> Option A
  4. Quick Check:

    Breakpoint pauses before assignment, sum = undefined [OK]
Hint: Breakpoint pauses before line runs, variable not assigned yet [OK]
Common Mistakes:
  • Assuming sum already has the calculated value
  • Confusing declaration with assignment timing
  • Expecting runtime error at breakpoint
4. You set a breakpoint in VS Code but the debugger never pauses when running your Node.js app. Which of these is the most likely cause?
medium
A. The Node.js version is too new
B. You forgot to save the file before running
C. The launch.json file is missing or misconfigured
D. Breakpoints only work in browser debugging

Solution

  1. Step 1: Check debugger configuration

    If launch.json is missing or has errors, VS Code cannot attach the debugger properly.
  2. Step 2: Understand breakpoint behavior

    Without correct config, breakpoints won't pause execution even if set.
  3. Final Answer:

    The launch.json file is missing or misconfigured -> Option C
  4. Quick Check:

    Debugger config missing = breakpoints ignored [OK]
Hint: Verify launch.json exists and is correct to enable breakpoints [OK]
Common Mistakes:
  • Blaming Node.js version without checking config
  • Assuming breakpoints need browser debugging
  • Not saving files but that usually doesn't stop breakpoints
5. You want to debug a Node.js app that uses environment variables. How can you configure launch.json to pass an environment variable named API_KEY with value 12345 to your app during debugging?
hard
A. { "type": "node", "request": "launch", "program": "${workspaceFolder}/app.js", "env": { "API_KEY": "12345" } }
B. { "type": "node", "request": "launch", "program": "app.js", "args": ["API_KEY=12345"] }
C. { "type": "node", "request": "launch", "program": "app.js", "envFile": "API_KEY=12345" }
D. { "type": "node", "request": "launch", "program": "app.js", "env": "API_KEY=12345" }

Solution

  1. Step 1: Use the correct property for environment variables

    The "env" property in launch.json accepts an object with key-value pairs for environment variables.
  2. Step 2: Format the environment variable correctly

    Set "API_KEY" as key and "12345" as its string value inside the "env" object.
  3. Final Answer:

    { "type": "node", "request": "launch", "program": "${workspaceFolder}/app.js", "env": { "API_KEY": "12345" } } -> Option A
  4. Quick Check:

    Use "env" object with key-value pairs in launch.json [OK]
Hint: Set env variables as key-value pairs inside "env" in launch.json [OK]
Common Mistakes:
  • Using args array instead of env object
  • Passing env as a string instead of object
  • Confusing envFile with direct env variable setting