previous | start

## Debugger Limitations

- Break points in recursive procedures interrupt the program each time through the procedure.
- When using the debugger on a recursive procedure, watch the call stack carefully.
- Sometimes the compiler generates faster code by keeping a variable in a processor register rather than reserving a memory location for it.
  - The debugger cannot find that variable or displays a wrong value for it.
  - You can try turning off all compiler optimizations and recompile.
  - You can open a special register window that shows all processor registers (advanced).
- Some errors show up when you run the program normally, but go away under the debugger.
  - Usually an uninitialized variable is the cause.
  - Inspect all variables manually and check that they are initialized.
  - Insert print statements if you are desperate.

previous | start