# Debugging Techniques

> Methods for identifying, analyzing, and fixing software bugs using debuggers, logging, and systematic problem-solving approaches

- **Canonical URL:** https://flashcards.world/flashcards/sets/05f1c0ae-cc54-4dee-8f2f-00b95b534d70/
- **Markdown URL:** https://flashcards.world/flashcards/sets/05f1c0ae-cc54-4dee-8f2f-00b95b534d70.md
- **Level:** intermediate
- **Languages:** en → en
- **Total Cards:** 50

## Flashcards (50 Cards)

| # | Front (Term / Prompt) | Back (Definition / Answer) | Example | Multiple-Choice Options |
| :--- | :--- | :--- | :--- | :--- |
| 1 | What is debugging? | Debugging is the process of identifying, analyzing, and removing errors or bugs from software. |  |  |
| 2 | What is the role of assertions in debugging? | Assertions are statements that check if a condition is true, helping catch bugs during development. |  |  |
| 3 | What is the 'divide and conquer' approach in debugging? | The 'divide and conquer' approach involves breaking down the problem into smaller parts to isolate the bug. |  |  |
| 4 | What is a version rollback? | A version rollback is reverting the software to a previous version to eliminate newly introduced bugs. |  |  |
| 5 | What is the role of automated testing in debugging? | Automated testing helps quickly identify bugs by running predefined tests on the software. |  |  |
| 6 | What is the difference between static and dynamic analysis? | Static analysis examines code without executing it, while dynamic analysis involves running the code to find issues. |  |  |
| 7 | What are common types of software bugs? | Common types include syntax errors, runtime errors, logical errors, and semantic errors. |  |  |
| 8 | What is regression testing? | Regression testing ensures that new code changes do not adversely affect existing functionality. |  |  |
| 9 | What is the significance of user feedback in debugging? | User feedback can reveal bugs that developers may not have encountered during testing. |  |  |
| 10 | What is the role of a software patch? | A software patch is an update that fixes bugs or vulnerabilities in the software. |  |  |
| 11 | What is the role of documentation in debugging? | Documentation provides context and guidelines that help developers understand the code and its intended behavior. |  |  |
| 12 | What is the significance of code refactoring? | Code refactoring improves the code structure without changing its external behavior, making it easier to debug. |  |  |
| 13 | What is the purpose of logging in debugging? | Logging helps track the program's execution flow and variable states, aiding in identifying issues. |  |  |
| 14 | What tools can be used for debugging web applications? | Common tools include browser developer tools, Firebug, and debugging proxies like Fiddler. |  |  |
| 15 | What is a bug tracking system? | A bug tracking system is a tool used to report, track, and manage bugs throughout the software development lifecycle. |  |  |
| 16 | What is the purpose of a debugger's watch window? | The watch window allows developers to monitor the values of specific variables during execution. |  |  |
| 17 | What is the purpose of a test case? | A test case defines a specific scenario to test a particular functionality of the software. |  |  |
| 18 | What is the purpose of a debugging session? | A debugging session is a focused period where developers work to identify and fix bugs in the software. |  |  |
| 19 | What is a test-driven development (TDD)? | TDD is a software development approach where tests are written before the code that needs to pass them. |  |  |
| 20 | What is a performance bottleneck? | A performance bottleneck is a point in the software that limits the overall speed or efficiency. |  |  |
| 21 | What is unit testing? | Unit testing involves testing individual components or functions of the software to ensure they work as intended. |  |  |
| 22 | What is a bug report? | A bug report is a document that describes a bug, including steps to reproduce, expected results, and actual results. |  |  |
| 23 | What is pair programming? | Pair programming is a collaborative coding practice where two programmers work together at one workstation. |  |  |
| 24 | What is the difference between debugging and testing? | Debugging focuses on fixing bugs, while testing is about evaluating the software's functionality and performance. |  |  |
| 25 | What is integration testing? | Integration testing checks how different modules or services work together in the application. |  |  |
| 26 | What is a syntax error? | A syntax error occurs when the code violates the grammar rules of the programming language. |  |  |
| 27 | What is the first step in the debugging process? | The first step is to reproduce the bug consistently. |  |  |
| 28 | What is a deadlock? | A deadlock is a situation where two or more processes are unable to proceed because each is waiting for the other. |  |  |
| 29 | What is the significance of reproducibility in debugging? | Reproducibility ensures that the bug can be consistently triggered, making it easier to analyze and fix. |  |  |
| 30 | What is a conditional breakpoint? | A conditional breakpoint pauses execution only when a specified condition is met. |  |  |
| 31 | What is the purpose of a hotfix? | A hotfix is a quick solution to a critical bug that is applied to the software without a full release. |  |  |
| 32 | What is the role of profiling in debugging? | Profiling analyzes the program's performance to identify slow or inefficient code. |  |  |
| 33 | What is the significance of version control in debugging? | Version control helps track changes, making it easier to identify when a bug was introduced. |  |  |
| 34 | What is a debugger? | A debugger is a tool that allows developers to inspect the code, variables, and execution flow to find bugs. |  |  |
| 35 | What is the significance of continuous integration in debugging? | Continuous integration helps catch bugs early by integrating code changes frequently and running automated tests. |  |  |
| 36 | What is breakpoints in debugging? | Breakpoints are markers set in the code to pause execution at a specific line for inspection. |  |  |
| 37 | What is the purpose of a rollback in debugging? | A rollback reverts the software to a previous state to eliminate newly introduced bugs. |  |  |
| 38 | What is the difference between a bug and a feature? | A bug is an unintended behavior, while a feature is a planned functionality of the software. |  |  |
| 39 | What is a logical error? | A logical error occurs when the program runs without crashing but produces incorrect results. |  |  |
| 40 | What is a memory leak? | A memory leak occurs when a program allocates memory but fails to release it, leading to increased memory usage. |  |  |
| 41 | What is a code review? | A code review is a process where peers examine each other's code for errors and improvements. |  |  |
| 42 | What is exploratory testing? | Exploratory testing is an informal testing approach where testers explore the application without predefined test cases. |  |  |
| 43 | What is a runtime error? | A runtime error happens during the execution of a program, causing it to crash or behave unexpectedly. |  |  |
| 44 | What is the purpose of code comments in debugging? | Code comments help explain the logic and purpose of code sections, making it easier to understand and debug. |  |  |
| 45 | What is the purpose of exception handling? | Exception handling allows a program to respond to errors gracefully without crashing. |  |  |
| 46 | What is rubber duck debugging? | Rubber duck debugging involves explaining your code or problem to an inanimate object to clarify your thoughts. |  |  |
| 47 | What is semantic error? | A semantic error is when the code is syntactically correct but does not do what the programmer intended. |  |  |
| 48 | What is a stack trace? | A stack trace is a report of the active stack frames at a certain point in time, useful for diagnosing errors. |  |  |
| 49 | What is the significance of error codes? | Error codes provide specific information about what went wrong, aiding in troubleshooting. |  |  |
| 50 | What is a code smell? | A code smell is a hint that there may be a deeper problem in the code, indicating potential issues. |  |  |

---
Study this deck interactively with FSRS-6 spaced repetition, audio review, and multiple-choice mode at [Flashcards World](https://flashcards.world/flashcards/sets/05f1c0ae-cc54-4dee-8f2f-00b95b534d70/).
