Practice debugging tools vocabulary: attaching debuggers, breakpoints, step into/over/out, watch expressions, and memory inspection.
0 / 26 completed
1 / 26
A developer says 'The debugger is attached to the process.' What does attaching a debugger allow?
Attaching a debugger to a running process lets you inspect its internal state in real time without restarting it. You can view current variable values, see the call stack, set breakpoints, and step through code — all while the process is running (or paused at a breakpoint).
2 / 26
A code review comment says 'Set a breakpoint at line 45.' What does a breakpoint do?
A breakpoint tells the debugger to pause execution when a specific line is reached. Once paused, you can inspect variable values, evaluate expressions, and step through subsequent lines one at a time. Conditional breakpoints pause only when a condition is true (e.g., when i === 5).
3 / 26
During a debugging session, you choose 'step into' instead of 'step over.' What is the difference?
Step into drills into a function call — useful when you want to debug inside a called function. Step over executes the called function in its entirety and stops at the next line of the current function — useful when you trust the called function and only want to observe its effect.
4 / 26
A developer adds 'a watch expression that evaluates user.isAuthenticated every step.' What is a watch expression?
Watch expressions are evaluated and displayed automatically as you step through code. Instead of manually expanding the variables panel each time, you set `user.isAuthenticated` as a watch and see its current value update at every step — ideal for tracking a specific variable across many execution points.
5 / 26
A senior developer says 'Use the memory inspector to check heap allocations.' When is the memory inspector useful?
The memory inspector is used for diagnosing memory-related issues: leaks (objects not being garbage collected), excessive allocation (too many large objects), or memory corruption. It shows heap snapshots, allocation timelines, and object references — essential for resolving memory issues that are invisible in the code itself.
6 / 26
Sarah: "I'm getting a NullPointerException in the `UserService.getUserDetails()` method. I've added a breakpoint at line 23, but it just keeps running!"
Which of the following is the most likely reason for this behavior?
Sarah's problem indicates that the code has *already* executed past line 23. Breakpoints only halt execution when a line is reached during the current function call stack. If the code continues beyond line 23, the breakpoint becomes inactive because the execution flow has already moved on to subsequent lines or functions. Options A and D are incorrect as they describe issues with debugger attachment or memory leaks respectively, which wouldn't explain why the breakpoint isn't being hit.
7 / 26
John: "I'm seeing a high CPU usage spike in the production environment after deploying this new feature. I've added logging to track API calls and it seems related to the OrderService. Can you suggest something to help me diagnose it?"
Profiling tools are crucial for pinpointing performance issues in production environments. A profiler will actively monitor resource usage (CPU, memory) and identify which parts of the OrderService are consuming the most resources, allowing you to focus your debugging efforts effectively. Simply increasing memory might mask the problem without addressing the root cause – inefficient code execution is a far more likely culprit for high CPU usage in this scenario. Deploying immediately could introduce new problems.
8 / 26
During a standup update, Alex reports: "We're seeing intermittent performance issues with the payment processing service. The logs show occasional timeouts when calling the external gateway API." His team lead asks, "What tool could help us understand if this is related to excessive network latency or perhaps a problem within the gateway itself?" Alex suggests using a network profiler.
A network profiler specifically analyzes network traffic patterns. It can reveal latency issues, packet loss, or other problems that contribute to timeout errors when calling external APIs – this is far more targeted than general logging which might simply show the API call itself. The other options represent common misunderstandings about debugging tools; a debugger isn't designed for network analysis and high transaction volume doesn't automatically cause timeouts.
9 / 26
Mark is investigating a slow response time for his e-commerce application. He's noticed that the database query to retrieve product details is taking an unusually long time. During a discussion with his team, he mentions running a database performance analyzer. Which of the following best describes what a database performance analyzer does?
A database performance analyzer doesn't magically fix queries. Instead, it meticulously tracks the time taken for each step of a query's execution – from receiving the request to returning the results. This detailed analysis reveals bottlenecks like missing indexes or complex joins that are slowing down the process, allowing developers to target optimization efforts effectively. The other options describe different tools with distinct focuses; this question specifically targets database query profiling.
10 / 26
Sarah: "I'm getting a NullPointerException in the `UserService.getUserDetails()` method. I've added a breakpoint at line 23, but it just keeps running!"
Which of the following is the most likely reason for this behavior?
Sarah's problem indicates that the code has *already* executed past line 23. Breakpoints only halt execution when a line is reached during the current function call stack. If the code continues beyond line 23, the breakpoint becomes inactive because the execution flow has already moved on to subsequent lines or functions. Options A and D are incorrect as they describe issues with debugger attachment or memory leaks respectively, which wouldn't explain why the breakpoint isn't being hit.
11 / 26
John: "I'm seeing a high CPU usage spike in the production environment after deploying this new feature. I've added logging to track API calls and it seems related to the OrderService. Can you suggest something to help me diagnose it?"
Profiling tools are crucial for pinpointing performance issues in production environments. A profiler will actively monitor resource usage (CPU, memory) and identify which parts of the OrderService are consuming the most resources, allowing you to focus your debugging efforts effectively. Simply increasing memory might mask the problem without addressing the root cause – inefficient code execution is a far more likely culprit for high CPU usage in this scenario. Deploying immediately could introduce new problems.
12 / 26
During a standup update, Alex reports: "We're seeing intermittent performance issues with the payment processing service. The logs show occasional timeouts when calling the external gateway API." His team lead asks, "What tool could help us understand if this is related to excessive network latency or perhaps a problem within the gateway itself?" Alex suggests using a network profiler.
A network profiler specifically analyzes network traffic patterns. It can reveal latency issues, packet loss, or other problems that contribute to timeout errors when calling external APIs – this is far more targeted than general logging which might simply show the API call itself. The other options represent common misunderstandings about debugging tools; a debugger isn't designed for network analysis and high transaction volume doesn't automatically cause timeouts.
13 / 26
Mark is investigating a slow response time for his e-commerce application. He's noticed that the database query to retrieve product details is taking an unusually long time. During a discussion with his team, he mentions running a database performance analyzer. Which of the following best describes what a database performance analyzer does?
A database performance analyzer doesn't magically fix queries. Instead, it meticulously tracks the time taken for each step of a query's execution – from receiving the request to returning the results. This detailed analysis reveals bottlenecks like missing indexes or complex joins that are slowing down the process, allowing developers to target optimization efforts effectively. The other options describe different tools with distinct focuses; this question specifically targets database query profiling.
14 / 26
Sarah: "I'm getting a NullPointerException in the `UserService.getUserDetails()` method. I've added a breakpoint at line 23, but it just keeps running!"
Which of the following is the most likely reason for this behavior?
Sarah's problem indicates that the code has *already* executed past line 23. Breakpoints only halt execution when a line is reached during the current function call stack. If the code continues beyond line 23, the breakpoint becomes inactive because the execution flow has already moved on to subsequent lines or functions. Options A and D are incorrect as they describe issues with debugger attachment or memory leaks respectively, which wouldn't explain why the breakpoint isn't being hit.
15 / 26
John: "I'm seeing a high CPU usage spike in the production environment after deploying this new feature. I've added logging to track API calls and it seems related to the OrderService. Can you suggest something to help me diagnose it?"
Profiling tools are crucial for pinpointing performance issues in production environments. A profiler will actively monitor resource usage (CPU, memory) and identify which parts of the OrderService are consuming the most resources, allowing you to focus your debugging efforts effectively. Simply increasing memory might mask the problem without addressing the root cause – inefficient code execution is a far more likely culprit for high CPU usage in this scenario. Deploying immediately could introduce new problems.
16 / 26
During a standup update, Alex reports: "We're seeing intermittent performance issues with the payment processing service. The logs show occasional timeouts when calling the external gateway API." His team lead asks, "What tool could help us understand if this is related to excessive network latency or perhaps a problem within the gateway itself?" Alex suggests using a network profiler.
A network profiler specifically analyzes network traffic patterns. It can reveal latency issues, packet loss, or other problems that contribute to timeout errors when calling external APIs – this is far more targeted than general logging which might simply show the API call itself. The other options represent common misunderstandings about debugging tools; a debugger isn't designed for network analysis and high transaction volume doesn't automatically cause timeouts.
17 / 26
Mark is investigating a slow response time for his e-commerce application. He's noticed that the database query to retrieve product details is taking an unusually long time. During a discussion with his team, he mentions running a database performance analyzer. Which of the following best describes what a database performance analyzer does?
A database performance analyzer doesn't magically fix queries. Instead, it meticulously tracks the time taken for each step of a query's execution – from receiving the request to returning the results. This detailed analysis reveals bottlenecks like missing indexes or complex joins that are slowing down the process, allowing developers to target optimization efforts effectively. The other options describe different tools with distinct focuses; this question specifically targets database query profiling.
18 / 26
Sarah: "I'm getting a NullPointerException in the `UserService.getUserDetails()` method. I've added a breakpoint at line 23, but it just keeps running!"
Which of the following is the most likely reason for this behavior?
Sarah's problem indicates that the code has *already* executed past line 23. Breakpoints only halt execution when a line is reached during the current function call stack. If the code continues beyond line 23, the breakpoint becomes inactive because the execution flow has already moved on to subsequent lines or functions. Options A and D are incorrect as they describe issues with debugger attachment or memory leaks respectively, which wouldn't explain why the breakpoint isn't being hit.
19 / 26
John: "I'm seeing a high CPU usage spike in the production environment after deploying this new feature. I've added logging to track API calls and it seems related to the OrderService. Can you suggest something to help me diagnose it?"
Profiling tools are crucial for pinpointing performance issues in production environments. A profiler will actively monitor resource usage (CPU, memory) and identify which parts of the OrderService are consuming the most resources, allowing you to focus your debugging efforts effectively. Simply increasing memory might mask the problem without addressing the root cause – inefficient code execution is a far more likely culprit for high CPU usage in this scenario. Deploying immediately could introduce new problems.
20 / 26
During a standup update, Alex reports: "We're seeing intermittent performance issues with the payment processing service. The logs show occasional timeouts when calling the external gateway API." His team lead asks, "What tool could help us understand if this is related to excessive network latency or perhaps a problem within the gateway itself?" Alex suggests using a network profiler.
A network profiler specifically analyzes network traffic patterns. It can reveal latency issues, packet loss, or other problems that contribute to timeout errors when calling external APIs – this is far more targeted than general logging which might simply show the API call itself. The other options represent common misunderstandings about debugging tools; a debugger isn't designed for network analysis and high transaction volume doesn't automatically cause timeouts.
21 / 26
Mark is investigating a slow response time for his e-commerce application. He's noticed that the database query to retrieve product details is taking an unusually long time. During a discussion with his team, he mentions running a database performance analyzer. Which of the following best describes what a database performance analyzer does?
A database performance analyzer doesn't magically fix queries. Instead, it meticulously tracks the time taken for each step of a query's execution – from receiving the request to returning the results. This detailed analysis reveals bottlenecks like missing indexes or complex joins that are slowing down the process, allowing developers to target optimization efforts effectively. The other options describe different tools with distinct focuses; this question specifically targets database query profiling.
22 / 26
Sarah is debugging a React component. She's using the Chrome DevTools and has set a breakpoint on line 25. The debugger stops, but when she inspects the state of the component, it's not what she expects. What's the most likely cause?
React DevTools can sometimes have glitches or misinterpretations of state updates. While memory leaks and incorrect breakpoints are possibilities, a problem with the extension itself is the most common reason for unexpected debugger behavior. The JavaScript engine typically handles memory efficiently, and a third-party library might be more likely to cause side effects if it's not correctly integrated.
23 / 26
"I'm getting a 'TypeError: Cannot read property 'name' of undefined' error in my JavaScript code. I've checked that the variable `user` is actually defined before trying to access its properties. What else could be causing this?"
This error usually arises when you attempt to access a property of a variable that has not been initialized or is explicitly set to `undefined`. The code is likely trying to read a property from an `undefined` value. The other options are less common causes for this specific error message.
24 / 26
"Mark reports: 'My API endpoint is returning a 500 Internal Server Error when I send a POST request with JSON data. The server logs show an 'Out of Memory' error.' What's the most likely explanation?"
An 'Out of Memory' error on a server indicates that the server ran out of RAM while processing the request. This often happens with large JSON payloads or complex computations performed during the request handling. While network issues and malformed JSON could cause errors, they wouldn't directly result in an 'Out of Memory' message.
25 / 26
"John says: 'I'm seeing a high latency when accessing the database. I've run `EXPLAIN` on the query and it shows that it's performing a full table scan.' What is the best next step to investigate?"
A full table scan indicates that the database is examining every row in a large table. Adding an index on the column used in the `WHERE` clause would significantly speed up the query by allowing the database to quickly locate relevant rows. While increasing memory or optimizing code might help indirectly, adding an index is the most direct and effective solution for this scenario.
26 / 26
"Alex sends a Slack message: 'The logs show that our microservice is failing with a 'Connection refused' error when trying to connect to the external payment gateway. I've verified the network connectivity and DNS resolution.' What should Alex do next?"
A 'Connection refused' error indicates that the microservice is unable to establish a TCP connection with the external gateway. While restarting the service or updating DNS might be necessary eventually, the immediate priority is to understand why the connection isn't being established. Contacting the payment gateway support team is crucial for troubleshooting potential issues on their end.
What does the "Debugging Tools Vocabulary" exercise practise?
Practice debugging tools vocabulary: attaching debuggers, breakpoints, step into/over/out, watch expressions, and memory inspection.
How many questions are in this exercise?
This exercise has 26 questions, each multiple-choice with a full explanation shown after you answer.
What English level is this exercise for?
This exercise is tagged Intermediate. If the vocabulary feels difficult, browse the Debugging Language category page for an easier module to start with.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free with no account, sign-up, or paywall.
Do I get feedback if I answer incorrectly?
Yes — whichever option you choose, right or wrong, you'll immediately see an explanation clarifying the correct term and why the other options don't fit.
Can I retry this exercise?
Yes — once you finish all the questions, a "Try again" button on the results screen resets the exercise so you can practise as many times as you like.
Do I need an account to track my progress?
No account is required. Your progress bar and score for this session are tracked in the browser as you go, but nothing is saved once you leave the page.
Is "Debugging Tools Vocabulary" part of a larger series?
Yes — it's one exercise in the Debugging Language category on CoderSlingo. See the category page for the full list of related exercises on similar terminology.
Can I link directly to this exercise?
Yes — this exercise has its own permanent URL, so you can bookmark it or share the link directly with a colleague or study partner.
Where can I find more exercises like this one?
See the Debugging Language category page for related exercises, or browse the main Exercises hub for other IT English topics.