Commit Graph

336 Commits

Author SHA1 Message Date
Martin
bacefb51ae LazDebuggerFp: Fixed line number for exceptions. 2023-10-08 13:32:37 +02:00
Martin
32ea407ca3 FpDebug: fix file locations in stack / don't use absolute path, files may have been pre-build in a different location (build vs install dir). 2023-10-03 19:40:03 +02:00
Martin
d3c5d91ce9 Debugger: Implement changing breakpoint location (line num in brk-property dialog).
- Update source editor marks
- Update FpDebug
2023-07-27 17:41:46 +02:00
Martin
0e1f76f481 LazDebuggerFp: Fix removing breakpoint, while thread-worker is still setting it. (possible race condition) 2023-07-27 17:41:45 +02:00
Martin
c5cddde52e FpDebug: allow starting debugger with Step-in/over 2023-06-20 18:09:10 +02:00
Martin
a2d87ebd69 Ide, Debugger: Check if debugger action is available if requested by key-stroke (don't send step-over to a not yet running FpDebug) 2023-06-20 17:29:26 +02:00
Martin
044ee4f0bc LazDebuggerFp: load line info (blue dots) for libraries 2023-05-27 13:19:33 +02:00
Martin
0b441dd73b FpDebug: disable peephole opt when using fpc 3.2.2 => otherwise fpc generates wrong code 2023-05-01 17:43:22 +02:00
Martin
badfeecb5d Debugger: renamed several interfaces, changing "T" prefix to "I" prefix 2023-03-22 19:41:24 +01:00
Martin
26f4160df9 Debugger: Update locals to use VirtualTree / FpDebug: return locals as new WatchResultData 2023-03-19 16:25:34 +01:00
Martin
ee4e48864e LazDebuggerFp, FpDebug: Disassembler now annotates lines with call,jmp,je,... with info on the target address. 2023-03-15 00:19:40 +01:00
Martin
42ae1a7765 LazDebuggerFp, FpDebug: deal with process-exit while watch-eval-function-call 2023-03-13 12:32:29 +01:00
Martin
db27ef882d FpDebug: clean up compile hints 2023-03-12 22:34:28 +01:00
Martin
179dc59dc6 Debugger: New interface for retrieving locals. 2023-03-02 19:56:37 +01:00
Martin
20bf681e0f LazDebuggerIntf: change event signature, include data / add template 2023-03-02 19:56:37 +01:00
Martin
0278edaea3 FpDebug: add workaround to prevent the IDE from creating empty/wrong Dbg-LineMaps (mapping all lines to zero) 2023-02-16 16:39:03 +01:00
Martin
04b384b34d FpDebug: Set breakpoints in libraries (dll/so). Update existing breakpoints when library is loaded. Add state (ok, fail, pending) to breakpoints. 2023-02-16 16:39:03 +01:00
Martin
5d091f5d5b FpDebug: Refactor breakpoints, move unit+line (or proc-name) to DpDebug. Change default scope to search all already loaded libraries. 2023-02-16 16:39:02 +01:00
Martin
dd4626b9ea FpDebug: better detection of prologue in Win-SEH finally handler. (fix step into finally for fpc > 3.3.1) 2023-01-21 12:26:52 +01:00
Martin
d31003464a LazDebuggerFp: remove int3 when conditional breakpoint is getting disabled/inactive. (used to wait until condition was true) 2023-01-09 17:08:14 +01:00
Martin
c7de909539 Debugger: Add dfNotSuitableForOsArch, to filter out unusable backends 2023-01-08 04:36:59 +01:00
Martin
8cd89c5af8 Debugger: Moved backend registration to initialization section 2023-01-08 04:36:58 +01:00
Martin
a9cb3d0967 LazDebuggerFp: add feedback if "modify watch" failed. 2022-12-02 01:03:44 +01:00
Martin
efc94ab2db LazDebuggerFp: fix mem leak in TFPBreakpoint.ThreadLogExpression 2022-10-23 13:18:00 +02:00
Martin
bf6c6ba4d9 Debugger: set default for "enable dwarf" dialog 2022-09-27 12:16:13 +02:00
Martin
88e9c521d7 FpDebug: fix watch-properties log-eval / log-stack to event window. 2022-09-14 18:15:30 +02:00
Martin
1024191ee5 Debugger: Fix breakpoint with "HitCount" do not eval stack/watches until hit-count is reached (for FpDebug backend) 2022-09-14 17:03:45 +02:00
Martin
069baa2497 Debugger: Run only current thread for watch function eval. Add option to run all threads. 2022-09-11 15:16:18 +02:00
Martin
45b69e8d9d Debugger: Allow to suspend/resume individual threads / only with FpDebug, only while paused - for the next run/step. 2022-09-11 03:28:53 +02:00
Martin
cbf0b6b0d6 Debugger: make ThreadState an enum 2022-09-11 02:25:23 +02:00
Martin
712b3e161d FpDebug: Fixes for watch-function-eval: allow function to ignore breakpoints set by the user. 2022-09-10 21:36:09 +02:00
Martin
26b56b74f9 FpDebug: Ensure update notification is sent after new stakc frames have been added. 2022-09-10 18:01:37 +02:00
Martin
7038201fcd LazDebuggerFp: Fix sporadic "interrupts" (callstack updates) while stepping (before reaching step target) 2022-09-07 17:09:55 +02:00
Martin
116b22ed72 FpDebug: Introduce "Intrinsics functions" for watches. Add "length()" for string (dwarf-3) and array 2022-09-07 04:36:34 +02:00
Martin
deb959022e LazDebuggerFp: Additional check to ensure full count is set correctly. 2022-09-07 04:36:33 +02:00
Martin
88ad421ae1 LazDebuggerFp: Add nil check in Memreader 2022-09-06 21:28:13 +02:00
Martin
7347d41a12 Debugger: fix crash introduced in "LazDebuggerFp: improve error handling" 2022-08-31 15:33:48 +02:00
Martin
552fd1dce8 LazDebuggerFp: improve error handling 2022-08-31 02:52:34 +02:00
Martin
d49b8782d7 FpDebugger: fix clear current command after SigSegV before pause (don't conflict with func-eval) 2022-08-23 22:44:59 +02:00
Martin
1c87d53199 Debugger: implement reading class.unitname from RTTI 2022-08-05 02:45:01 +02:00
Martin
6f99f0fe16 Debugger: Configuration for value converter 2022-08-05 02:44:28 +02:00
Martin
8a0a21a7bc LazDebuggFp,FpDebug: fix racing conditions
- while TDbgController.SendEvents runs in the main thread, the work-thread may run TDbgControllerCallRoutineCmd
 - TDbgControllerCallRoutineCmd may run, while the main thread attempts to set the next command
 - CallStack code was from before the WorkQueue was introduced. It needs a different approach. (without attempting to start a new worker)
2022-07-27 01:17:35 +02:00
Pascal Riekenberg
2bc0a9b371 Debugger: added support for TThread.NameThreadForDebugging 2022-06-28 07:35:40 +02:00
Martin
dd89fc14e1 LazDebuggerFp: fixed crash in callstack / dangling pointer 2022-06-23 17:22:23 +02:00
Martin
131d1062df Debugger: allow calling SysVarToLStr for variants (via user defined type-names) 2022-06-23 13:54:18 +02:00
Martin
99495ba51a FpDebugDebugger: fix retrieving stack without limit (fix copy stack to clipboard) 2022-06-04 23:06:11 +02:00
Martin
8d3d08ae4c Debugger: Moved dsState to new unit 2022-03-24 00:39:03 +01:00
Martin
4f8efdd21f FpDebug: fix warnings. 2022-03-24 00:39:03 +01:00
Martin
0e6769ac99 FpDebug, LazDebuggerFp: Implement tracking modified CPU registers (top stack-frame only) 2022-02-25 20:25:01 +01:00
Martin
d38a268f3d FpDebug: Win64, Fix "Run (F9)" incorrectly triggered watch/stack updates while the app was running.
Similar to the Win32 fix at a92db946ec
2022-02-22 01:01:40 +01:00