Debugging helps you find and fix mistakes in your code. VS Code makes this easy by letting you pause and check your program step-by-step.
Debugging with VS Code in Node.js
Start learning this pattern below
Jump into concepts and practice - no test required
1. Open your Node.js project in VS Code. 2. Go to the Run and Debug view (left sidebar or press Ctrl+Shift+D). 3. Click 'create a launch.json file' to set up debugging. 4. Choose 'Node.js' environment. 5. Add breakpoints by clicking next to the line numbers. 6. Press the green play button to start debugging. 7. Use controls to step over, step into, or continue running.
The launch.json file tells VS Code how to run your program for debugging.
Breakpoints pause your program so you can check what is happening at that moment.
app.js in your project folder when debugging.// launch.json example
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/app.js"
}
]
}// Setting a breakpoint
// Click on the left side of the line number in your code editor to add a red dot.
// When you run the debugger, the program will pause here.This simple Node.js program adds two numbers. You can set a breakpoint on the line where result is calculated to see the values of a and b during debugging.
console.log('Start program'); function add(a, b) { const result = a + b; // Set breakpoint here return result; } const sum = add(5, 7); console.log('Sum is:', sum);
You can watch variables and call stack in the Debug panel to understand your program better.
Use the Debug Console to run commands or check variable values while paused.
Remember to remove or disable breakpoints when you finish debugging to avoid pausing unnecessarily.
Debugging with VS Code helps you find errors by running your code step-by-step.
Set breakpoints to pause your program and inspect variables.
Use the launch.json file to configure how your Node.js program runs in the debugger.
Practice
Solution
Step 1: Understand what a breakpoint does
A breakpoint pauses the program execution at a chosen line so you can check what is happening.Step 2: Identify the purpose in debugging
Pausing lets you inspect variables and see how the program flows step-by-step.Final Answer:
To pause the program at a specific line to inspect variables and program flow -> Option DQuick Check:
Breakpoint = Pause and inspect [OK]
- Thinking breakpoints fix errors automatically
- Believing breakpoints speed up code
- Confusing breakpoints with code compilation
Solution
Step 1: Check the correct debug type for Node.js
The type must be "node" to debug Node.js applications.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.Final Answer:
{ "type": "node", "request": "launch", "program": "${workspaceFolder}/app.js" } -> Option BQuick Check:
Node debug launch with correct program path [OK]
- Using wrong type like 'python' for Node.js
- Using 'compile' or 'run' instead of 'launch'
- Not using workspaceFolder variable for program path
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?Solution
Step 1: Understand when the breakpoint pauses execution
The breakpoint on line 3 pauses before executing that line, sosumis not yet assigned.Step 2: Determine the value of
Since line 3 hasn't run,sumat pausesumis declared but not assigned, so its value isundefined.Final Answer:
undefined -> Option AQuick Check:
Breakpoint pauses before assignment, sum = undefined [OK]
- Assuming sum already has the calculated value
- Confusing declaration with assignment timing
- Expecting runtime error at breakpoint
Solution
Step 1: Check debugger configuration
If launch.json is missing or has errors, VS Code cannot attach the debugger properly.Step 2: Understand breakpoint behavior
Without correct config, breakpoints won't pause execution even if set.Final Answer:
The launch.json file is missing or misconfigured -> Option CQuick Check:
Debugger config missing = breakpoints ignored [OK]
- Blaming Node.js version without checking config
- Assuming breakpoints need browser debugging
- Not saving files but that usually doesn't stop breakpoints
API_KEY with value 12345 to your app during debugging?Solution
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.Step 2: Format the environment variable correctly
Set "API_KEY" as key and "12345" as its string value inside the "env" object.Final Answer:
{ "type": "node", "request": "launch", "program": "${workspaceFolder}/app.js", "env": { "API_KEY": "12345" } } -> Option AQuick Check:
Use "env" object with key-value pairs in launch.json [OK]
- Using args array instead of env object
- Passing env as a string instead of object
- Confusing envFile with direct env variable setting
