Check which executable you opened
Before looking for a bad line of code, confirm that the debugger has opened the right executable. Your editor may show today’s source while the target is yesterday’s build. Separate Debug and Release directories, or copies with the same filename, make this easy to miss. Check that the build succeeded, note the full output path, and compare the modification time with your expectations. DBG Desk accepts a file picker or a dropped file. Use Open by path when the program needs files beside the original executable. Source and binary mismatches make later line numbers and variable observations unreliable.
Start with a small target
Use the included counter.c before attaching to a large application. With GCC, gcc -g -O0 examples/counter.c -o examples/counter.exe creates a simple build with debug information and optimization disabled. Its output path is relative to the directory where you run the compiler. Select the executable, add a breakpoint at main, then choose Run. Selecting a file also attempts to connect the engine. Reaching main confirms the basic chain between the browser, local server, GDB, and target. If compilation fails, solve that separately from a debugger connection problem.
Observe one change at a time
Once stopped, locate the current instruction and inspect the call stack. F7 executes one instruction and F8 steps over a call. These are machine instructions, not source lines. Even an addition can require separate loads, arithmetic, and a store. Begin by watching the program counter move and a few registers change. Follow entry, calculation, and return rather than trying to understand every panel at once. When a result is wrong, work backward to the inputs consumed by the instruction that produced it.
Keep enough information to repeat the session
Record the build command, executable, arguments, first breakpoint, and observed result. The counter example should print total = 35. Arguments matter because the same executable can follow a different path for a different input. On the next run, verify that the same conditions reach the same stop. Detach from a stopped live process before switching targets. A browser refresh does not undo work already performed by the program.
A useful first record
A short note is enough: build with -g -O0, open counter.exe, pass an empty argument array, and stop at main. When you move the breakpoint to accumulate, record the input and return value for a particular iteration. The first call receives 0 and should return 1. Check this small expectation before following the remaining calls. You now have a comparison point without needing to interpret the entire assembly listing.
gcc -g -O0 examples/counter.c -o examples/counter.exe