Debugger Status
From Lazarus wiki
Revision as of 04:32, 8 December 2019 by Martin (talk | contribs) (Created page with "Category:Debugging This is based on Lazarus 2.0 ==== Notes ==== For the GDB and LLDB based debugger, support is indicated based on the assumptino that your version of G...")
This is based on Lazarus 2.0
Notes
For the GDB and LLDB based debugger, support is indicated based on the assumptino that your version of GDB supports this. Support indication is generally based on current GDB/LLDB for mainstream OS.
Fp-Debugger currently only works for Windows and Linux
Start/Stop
Feature | Key | ! GdbMi | GdbMi+Ssh | GdbServer | GdbMi+FpDebug | ! Lldb+FpDebug | ! Fp-Debugger | ! Comments |
---|---|---|---|---|---|---|---|---|
Run | F9 | Y | Y | Y | Y | Y | Y | |
Run to first line (Step) | F7 / F8 | Y | Y | Y | Y | class="unknown" ? | class="not" N | For GUI apps the first line is in the code generated by the IDE |
Attach | Y | Y | Y | Y | ? | N | ||
Detach | Y | Y | Y | Y | - | N | ||
Stop | Y | Y | Y | Y | Y | Y | ||
Reset Debugger | Y | Y | Y | Y | Y | Y | Kill/Stop |
Execution Control
Feature | Key | ! GdbMi | GdbMi+Ssh | GdbServer | GdbMi+FpDebug | ! Lldb+FpDebug | ! Fp-Debugger | ! Comments |
---|---|---|---|---|---|---|---|---|
Continue (Run) | F9 | Y | Y | Y | Y | Y | Y | |
Step over line | F8 | Y | Y | Y | Y | Y | Y | |
Step into line | F7 | Y | Y | Y | Y | Y | Y | |
Step (over) to line at cursor | F8 | Y | Y | Y | Y | ? | Partial | "STEP OVER" - This works only within the current procedure.
|
Run to line at cursor | N | N | N | N | N | N | Workaround: Use F5 to set a breakpoint, then F9 to run | |
Step out (of current function) | Shift-F8 | Y | Y | Y | Y | Y | Y | |
Step over asm | Y | Y | Y | Y | Y | Y | ||
Step into asm | Y | Y | Y | Y | Y | Y | ||
Step over "none breaking" breakpoint | Y | Y | Y | Y | - | Y | Any "step" command will continue to its step-end after a "none breaking" Breakpoints. This is a Breakpoint that has its break property turned off. It may record a snapshot, log a message, or enable/disable other breakpoints.
| |
Step over ignored exceptions | Y | Y | Y | Y | - | Y | Only for standard fpc exception handling. And (Lazarus 2.2) SEH on Win64. Win32 and other OS structured exception handling are not supported (Ignored exceptions will turn Stepping into Running). | |
Step from except to finally or except | Y | Y | Y | Y | - | Y | Only for standard fpc exception handling. And (Lazarus 2.2) SEH on Win64. Win32 and other OS structured exception handling are not supported (Ignored exceptions will turn Stepping into Running). |
Breakpoints / Exceptions
Feature | Key | ! GdbMi | GdbMi+Ssh | GdbServer | GdbMi+FpDebug | ! Lldb+FpDebug | ! Fp-Debugger | ! Comments |
---|---|---|---|---|---|---|---|---|
Breakpoint on Source Line | Y | Y | Y | Y | Y | Y | ||
Breakpoint on Assembler Line | Y | Y | Y | Y | Y | Y | ||
Watchpoint / Breakpoint Data | Y | Y | Y | Y | ? | Partial | ||
.... | . | . | . | . | . | . |
Data
Feature | Key | ! GdbMi | GdbMi+Ssh | GdbServer | GdbMi+FpDebug | ! Lldb+FpDebug | ! Fp-Debugger | ! Comments |
---|---|---|---|---|---|---|---|---|
Watches | Y | Y | Y | Y | Y | Y | ||
Locals | Y | Y | Y | Y | Y | Y | ||
Stack | Y | Y | Y | Y | Y | Y | ||
Threads | Y | Y | Y | Y | Y | Y | Running State indicator may not be accurate | |
Inspect | Y | Y | Y | Y | Y | Y | ||
Evaluate / Modify | Y | Y | Y | Y | ? | Only Evaluate No Modify |
||
Watch/Inspect Properties | N | N | N | N | N | N | Using "DWARF" properties that refer directly to a field (no getter method) are shown. | |
Watch/Inspect Function calls | N | N | N | N | N | N |