<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>DBG Desk guides</title><link>https://dbgdesk.pages.dev/en/guides/</link><description>Debugging and development troubleshooting guides</description><language>en</language><item><title>Your first debugging session: check the build first</title><link>https://dbgdesk.pages.dev/en/guides/first-debug-session/</link><guid>https://dbgdesk.pages.dev/en/guides/first-debug-session/</guid><description>Match the executable to its source and stop at main before investigating a larger program.</description></item><item><title>Choosing breakpoints that narrow down a bug</title><link>https://dbgdesk.pages.dev/en/guides/choose-breakpoint/</link><guid>https://dbgdesk.pages.dev/en/guides/choose-breakpoint/</guid><description>Use function, source-line, and address breakpoints to find where a value first goes wrong.</description></item><item><title>Step into, Step over, and Step out</title><link>https://dbgdesk.pages.dev/en/guides/step-into-over-out/</link><guid>https://dbgdesk.pages.dev/en/guides/step-into-over-out/</guid><description>Understand instruction-level stepping and decide when to follow a function call.</description></item><item><title>Reading registers: PC, SP, and return values</title><link>https://dbgdesk.pages.dev/en/guides/read-registers/</link><guid>https://dbgdesk.pages.dev/en/guides/read-registers/</guid><description>Start with register roles instead of trying to memorize every name.</description></item><item><title>Following a failure through the call stack</title><link>https://dbgdesk.pages.dev/en/guides/follow-call-stack/</link><guid>https://dbgdesk.pages.dev/en/guides/follow-call-stack/</guid><description>Separate the function that stopped from the caller that supplied the bad input.</description></item><item><title>Reading a hex dump: addresses, bytes, and text</title><link>https://dbgdesk.pages.dev/en/guides/read-hex-memory/</link><guid>https://dbgdesk.pages.dev/en/guides/read-hex-memory/</guid><description>Interpret memory without confusing storage locations, integer values, and character data.</description></item><item><title>What to check after an access violation</title><link>https://dbgdesk.pages.dev/en/guides/access-violation-first-checks/</link><guid>https://dbgdesk.pages.dev/en/guides/access-violation-first-checks/</guid><description>Inspect the faulting instruction, accessed address, and caller before changing code.</description></item><item><title>Trace a null pointer before adding a check</title><link>https://dbgdesk.pages.dev/en/guides/trace-null-pointer/</link><guid>https://dbgdesk.pages.dev/en/guides/trace-null-pointer/</guid><description>Find whether a missing object is an expected result or a broken initialization contract.</description></item><item><title>Finding off-by-one errors at array boundaries</title><link>https://dbgdesk.pages.dev/en/guides/array-boundary-off-by-one/</link><guid>https://dbgdesk.pages.dev/en/guides/array-boundary-off-by-one/</guid><description>Separate element counts, last indices, and byte capacities when investigating a loop.</description></item><item><title>Use-after-free: readable memory can still be invalid</title><link>https://dbgdesk.pages.dev/en/guides/use-after-free-lifetime/</link><guid>https://dbgdesk.pages.dev/en/guides/use-after-free-lifetime/</guid><description>Trace ownership and object lifetime instead of relying on a pointer’s numeric value.</description></item><item><title>When a variable is optimized out</title><link>https://dbgdesk.pages.dev/en/guides/optimized-out-build-options/</link><guid>https://dbgdesk.pages.dev/en/guides/optimized-out-build-options/</guid><description>Check optimization and debug information before assuming that a missing variable is a bug.</description></item><item><title>Missing function names and debug symbols</title><link>https://dbgdesk.pages.dev/en/guides/missing-debug-symbols/</link><guid>https://dbgdesk.pages.dev/en/guides/missing-debug-symbols/</guid><description>Match the binary, symbols, and source before interpreting question marks in the stack.</description></item><item><title>Troubleshooting Attach by PID</title><link>https://dbgdesk.pages.dev/en/guides/attach-pid-troubleshooting/</link><guid>https://dbgdesk.pages.dev/en/guides/attach-pid-troubleshooting/</guid><description>Verify the process, debugger platform, and architecture before changing permissions.</description></item><item><title>It runs in the terminal but fails in the debugger</title><link>https://dbgdesk.pages.dev/en/guides/arguments-path-working-directory/</link><guid>https://dbgdesk.pages.dev/en/guides/arguments-path-working-directory/</guid><description>Compare arguments, working directories, and environment variables before changing the program.</description></item><item><title>Why addresses change between runs</title><link>https://dbgdesk.pages.dev/en/guides/addresses-aslr-breakpoints/</link><guid>https://dbgdesk.pages.dev/en/guides/addresses-aslr-breakpoints/</guid><description>Distinguish absolute addresses from code locations when reusing a breakpoint.</description></item><item><title>Reading a Python traceback from the error back to its caller</title><link>https://dbgdesk.pages.dev/en/guides/python-traceback-reading/</link><guid>https://dbgdesk.pages.dev/en/guides/python-traceback-reading/</guid><description>Identify the exception and failing expression before tracing where the input came from.</description></item><item><title>Tracing JavaScript undefined property errors</title><link>https://dbgdesk.pages.dev/en/guides/javascript-undefined-typeerror/</link><guid>https://dbgdesk.pages.dev/en/guides/javascript-undefined-typeerror/</guid><description>Check response shape and asynchronous timing before adding blanket fallback values.</description></item><item><title>Undefined reference is a link failure, not a runtime crash</title><link>https://dbgdesk.pages.dev/en/guides/undefined-reference-linker/</link><guid>https://dbgdesk.pages.dev/en/guides/undefined-reference-linker/</guid><description>Find the missing definition and link input before opening the debugger.</description></item><item><title>Reducing a reproduction without removing the bug</title><link>https://dbgdesk.pages.dev/en/guides/minimal-reproducible-debug-case/</link><guid>https://dbgdesk.pages.dev/en/guides/minimal-reproducible-debug-case/</guid><description>Preserve the failure conditions while simplifying code and input one change at a time.</description></item><item><title>When to use logs and when to stop at a breakpoint</title><link>https://dbgdesk.pages.dev/en/guides/logs-and-breakpoints/</link><guid>https://dbgdesk.pages.dev/en/guides/logs-and-breakpoints/</guid><description>Choose between a moment-in-time inspection and a record of events over time.</description></item></channel></rss>