Debugging
Debugging is the systematic process of investigating software behavior to locate, diagnose, and correct defects or their causes.
Learn AI-Assisted Python Programming, Second Edition
Debugging is the process of locating, diagnosing, and correcting defects in a program.
- How it is used
- Supports testing and repairing Python functions, especially when Copilot-generated code is close to correct but behaves incorrectly.
- How deep it goes
- Explains print tracing, breakpoints, stepping, variable inspection, and workflow integration, while focusing on commonly used debugger features.
- Examples
- Uses a substring-matching word counter and a consecutive-student row counter to expose mismatched intermediate and final results.
- What you can do after
- Diagnose and repair faulty Python functions with tests, print statements, Copilot prompts, or VS Code debugging tools.
Read how Learn AI-Assisted Python Programming, Second Edition explains debugging →
Troubleshooting Java, Second Edition
A software investigation technique for finding and solving problems in code, including analyzing how implemented logic works.
- How it is used
- Deploys debugging to find defects, understand behavior, learn technologies, review correctness, optimize performance, and improve security or maintainability.
- How deep it goes
- Explains investigation goals, debugger navigation, profiler use, and AI support, but defers detailed debugger techniques and profiler coverage.
- Examples
- Uses a recursive exception-heavy method, Spring Security, Hibernate, Bluetooth threads, profilers, and thread dumps as investigative examples.
- What you can do after
- Diagnose/debug with a debugger, profiler, code review, or AI-assisted questioning while relating observations to runtime behavior.
Read how Troubleshooting Java, Second Edition explains debugging →
Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform
Debugging is the process of locating, diagnosing, and correcting defects in software or operational workflows.
- How it is used
- Locates and corrects deployment and microservice failures after a problem becomes apparent.
- How deep it goes
- Provides a flexible sequence from triage through prevention, with evidence gathering, mitigation, isolation, reproduction, and root-cause testing.
- Examples
- Uses a GitHub Actions permission error involving a shell script and a rollback to a previous working version.
- What you can do after
- Practice/perform it: prioritize failures, collect evidence, test causes, mitigate customer impact, and verify a fix.
Coding with AI
Debugging is the process of locating, diagnosing, and correcting defects in software.
- How it is used
- Uses AI assistance to investigate errors, propose fixes, and speed up debugging during software development.
- How deep it goes
- Demonstrates an iterative diagnosis from a SQLite error through failed AI fix, loop inspection, and validation.
- Examples
- Works through a repeated SQLite UNIQUE constraint failure while creating sessions and inserting 35 question records.
- What you can do after
- Diagnose/debug with AI suggestions by reviewing diffs, testing incremental changes, and checking root causes.
Get Programming: Learn to code with Python
The process of locating, diagnosing, and correcting defects in software.
- How it is used
- Uses debugging throughout iterative programming, function development, capstone integration, and unit-test practice.
- How deep it goes
- Explains failed-test tracing, variable recording, rubber ducking, and debugger use, while leaving the final diagnosis to the programmer.
- Examples
- Uses file-processing checks, an absolute-value branch failure, Spyder traces, and a buggy list-removal exercise.
- What you can do after
- Diagnose and correct defects by tracing failed cases, inspecting values, using tests, and stepping through code.
Read how Get Programming: Learn to code with Python explains debugging →
React in Depth
Debugging is the process of investigating a running or non-running program to locate and understand defects or unexpected behavior.
- How it is used
- Investigates live React behavior and traces defects that static code checks cannot reveal.
- How deep it goes
- Distinguishes browser debugging from React Developer Tools and identifies inspector, highlighter, and profiler uses; defers browser-tool instruction to browser documentation.
- Examples
- Uses component properties, excessive rendering, and an element with the wrong color as concrete investigation targets.
- What you can do after
- Diagnose/debug with it by inspecting React components and renders, selecting a profiler for performance symptoms, and tracing visible styling defects to source.
Python How-To
Debugging is the process of locating, diagnosing, and correcting defects in software.
- How it is used
- Guides developers through locating, diagnosing, and correcting defects during development before production delivery.
- How deep it goes
- Moves from reading tracebacks to breakpoints, stepping, and variable inspection, while treating testing as a related activity.
- Examples
- Uses an AttributeError traceback, breakpoint stepping, malformed task data, and lambda-versus-named-function KeyError messages.
- What you can do after
- Diagnose/debug with tracebacks, breakpoints, stepping, debugger expressions, and local-variable inspection.
The Complete Obsolete Guide to Generative AI
Troubleshooting is the systematic diagnosis and correction of faults in a system or process.
- How it is used
- Uses AI-guided troubleshooting to get software, hardware, and creative work unstuck.
- How deep it goes
- Demonstrates anticipated failures and environment checks but does not develop a general debugging procedure.
- Examples
- Uses 4K video conversion, a garage door opener, and book-cover design as troubleshooting examples.
- What you can do after
- Diagnose and address practical problems with AI-guided troubleshooting and optional Python workflows.
Read how The Complete Obsolete Guide to Generative AI explains debugging →
AI Agents and Applications
Debugging is the systematic diagnosis and correction of faults in software execution or behavior.
- How it is used
- Uses breakpoints and state inspection to trace tool-based agent execution from user request through tool results to final response.
- How deep it goes
- Provides a worked debugger procedure across nodes, messages, tool calls, and results, while omitting defensive error handling.
- Examples
- Traces a Cornwall beach-town request through three rewritten searches, ToolMessage results, and a final assistant response.
- What you can do after
- Diagnose/debug with VS Code breakpoints by inspecting agent state, tool calls, tool results, routing, and final responses.
Cloud Observability in Action
Debugging is the systematic process of locating, diagnosing, and correcting defects in software.
- How it is used
- Uses logs, traces, and profiles to diagnose defects, outages, latency, and security-related failures in microservices.
- How deep it goes
- Demonstrates practical signal-driven diagnosis and drill-down, but does not detail corrective coding or remediation procedures.
- Examples
- Uses service maps, Jaeger failure spans, HTTP error filters, happy-path comparisons, and Parca profiling.
- What you can do after
- Diagnose distributed failures by locating responsible services, comparing request behavior, and inspecting profiling data.
Writing for Developers: Blogs that get read
Debugging is the systematic process of locating, diagnosing, and correcting defects in software.
- How it is used
- Uses debugging as a practical investigation pattern for locating causes and teaching transferable problem-solving techniques.
- How deep it goes
- Details investigation steps, observations, tools, reproducibility, and fixes, while stopping short of prescribing one universal debugging workflow.
- Examples
- Uses Rust build times, Java memory leaks, distributed-system failures, processor caches, and natural-language code explanations.
- What you can do after
- Diagnose/debug with it by documenting symptoms, inspecting evidence, testing hypotheses, identifying root causes, and applying informed fixes.
Read how Writing for Developers: Blogs that get read explains debugging →
Elixir in Action, Third Edition
Debugging is the process of examining program execution and data to locate or understand faults.
- How it is used
- Guides fault investigation in concurrent and distributed BEAM systems.
- How deep it goes
- Contrasts classical debugging with logging, tracing, Logger, stack traces, and IO.inspect, while deferring deeper treatment.
- Examples
- Uses crashed GenServers, Logger stack traces, and IO.inspect in expressions or pipelines.
- What you can do after
- Diagnose/debug with it by inspecting failures through logs, stack traces, tracing, and non-invasive value inspection.
Read how Elixir in Action, Third Edition explains debugging →
Acing the Certified Kubernetes Administrator Exam, Second Edition
Troubleshooting is the systematic investigation of symptoms and system behavior to identify and resolve operational problems.
- How it is used
- Reduces application downtime and restores healthy Kubernetes operation by locating failures across workloads, components, nodes, and networks.
- How deep it goes
- Traces logs, statuses, events, metrics, components, and network configuration, then stops short of prescribing every individual repair.
- Examples
- Uses pod logs, cluster events, metrics, kube-system inspection, SWAPI requests, and saved API-resource output.
- What you can do after
- Diagnose/debug with it by separating application, cluster, node, operating-system, and network failures and selecting evidence for resolution.
Read how Acing the Certified Kubernetes Administrator Exam, Second Edition explains debugging →
The AI Pocket Book
The process of diagnosing and fixing software errors or incorrect behavior.
- How it is used
- Uses debugging to validate and repair AI-generated software, especially integrations involving external APIs.
- How deep it goes
- Demonstrates assumption checking and prompt revision through an API failure, but stops short of a general debugging procedure.
- Examples
- Uses a weather-map integration, JSON response-format mismatch, and incorrect CDN URL as debugging examples.
- What you can do after
- Diagnose/debug with it by checking assumptions, refining prompts, and validating proposed fixes against actual behavior.
Build AI-Enhanced Web Apps
Debugging is the systematic process of identifying, analyzing, and correcting defects or unexpected behavior in software.
- How it is used
- Guides systematic diagnosis of rendering, state, performance, streaming, SDK, and AI workflow failures.
- How deep it goes
- Provides diagnostic categories, troubleshooting paths, mocking practices, and testing strategies without specifying universal fixes.
- Examples
- Uses rendering and state symptoms, SDK errors, token limits, mocked responses, FakeLLM, and FakeRetriever as diagnostic test cases.
- What you can do after
- Diagnose/debug with it by isolating symptoms, reproducing failures, testing components and workflows, and validating error and streaming behavior.
Secrets of the JavaScript Ninja, Second Edition
The process of finding, inspecting, and correcting software defects or unexpected behavior.
- How it is used
- Uses debugging as a best practice for developing quality JavaScript web applications.
- How deep it goes
- Compares browser-tool capabilities but leaves specific debugging techniques for later.
- Examples
- Contrasts JavaScript alerts with Firebug, Chrome DevTools, Firefox Developer Tools, F12 Developer Tools, and WebKit Inspector.
- What you can do after
- Operate browser developer tools to inspect JavaScript, the DOM, CSS, and network events.
Read how Secrets of the JavaScript Ninja, Second Edition explains debugging →
Related concepts
- bugaddresses · A software bug is a defect in software or a related system component that causes behavior to differ from what is intended or expected.
- debuggeruses · A debugger is a software tool for controlling program execution and inspecting runtime state to investigate behavior and diagnose defects.
- monitoringuses · Monitoring is the ongoing observation and measurement of a system’s behavior, state, or operational signals to assess its condition and detect changes or problems.
- compileruses · A compiler is software that translates source code into executable code or another representation, while analyzing it according to the source language’s rules.
- breakpointuses · A breakpoint is a designated program location at which a debugger pauses execution so the program’s state can be inspected.
- stack traceused by · A stack trace is a diagnostic record of active or recently unwound function or method calls at an execution point, often including source locations.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.















