Commit Graph

595 Commits

Author SHA1 Message Date
Martin
2f1fbf3286 FpDebug: return dfNotSuitableForOsArch for non Intel 2024-01-27 21:19:25 +01:00
Martin
972de7f404 LazDebuggerFp: fix stepping over try Window/Kernel.RaiseException except end 2024-01-20 16:14:57 +01:00
Martin
5e62cd71d1 Debugger: Improve Thread-Name display. Add support for thread name from GDB (only recent gdb versions) 2024-01-20 16:14:57 +01:00
Martin
0f47ec3b2a Debugger: fixes for ThreadNum 2024-01-20 16:14:57 +01:00
Martin
fd792b5d6f LazDebuggerFp: Don't set breakpoints when the debug session is already over 2024-01-19 15:47:14 +01:00
Martin
8ed6d90eb1 Ide,FpDebug: In FpDebug add a thread number (order of first occurrence). In the IDE, prefix the ID with the number. 2024-01-18 22:21:39 +01:00
ccrause
c327f03044 Move IsReadableLoc and IsReadableMem to MemModel. 2024-01-14 19:29:13 +01:00
ccrause
3ecbb52069 Updated MemModel structure. 2024-01-14 19:29:12 +01:00
Martin
5c6662f3e7 FpDebug: Add comparing enum-values in watches "enum1 >= enum2" 2023-12-30 20:03:06 +01:00
Martin
c2e59c7885 FpDebug,LazDebugger: changes to MemManager to allow avr-read-register-as-address 2023-12-12 13:15:32 +01:00
Martin
5efaac3f2f FpDebug: find symbol for fpc_raiseexception (and similar) independent of case. 2023-12-04 02:19:00 +01:00
Martin
53474705c4 FpDebug: check error in expressions, when new dbg-values are created. 2023-12-02 16:33:37 +01:00
Martin
8208144cdf FpDebug: test ".." intrinsic operator / Fix error checking 2023-12-02 01:10:39 +01:00
Martin
b97a9b80a1 FpDebug: fix disassembler DPPD... / Issue #40567 patch by Red_prig (Pavel) 2023-10-30 18:26:14 +01:00
Martin
cecc5ee87d FpDebug: fix disassembler pause,psrldq,extrq... Issue #40555, #40557, #40558 patch by Red_prig (Pavel) 2023-10-15 18:32:30 +02:00
Martin
62e7f5665a FpDebug: fix disassembler vmov.. Issue #40552 patch by Red_prig (Pavel) 2023-10-13 20:28:50 +02:00
Martin
9cff61c5a0 FpDebug: fix disassembler vzero... / test reg.l Issue #40546 and #40549 patch by Red_prig (Pavel) 2023-10-13 13:34:54 +02:00
Martin
67069ef84b FpDebug: fix disassembler movq/vmovq Issue #40541 patch by Red_prig (Pavel) 2023-10-09 18:33:52 +02:00
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
710fa6f135 FpDebug: fix disassembler "vround"/"vmovm" Issue #40525 #40524 patch by Red_prig (Pavel) 2023-10-02 11:56:23 +02:00
Martin
4cd413a986 FpDebug: fix disassembler "xadd 16bit reg" Issue #40520 patch by Red_prig (Pavel) 2023-09-26 09:03:35 +02:00
mattias
c5bc78b070 updated makefiles 2023-09-03 17:11:29 +02:00
mattias
8d92e3b67d updated makefiles 2023-08-14 20:31:20 +02:00
Martin
c7cef13c39 LazDebuggerFp, test: add alias AnsiChar for Char 2023-07-27 17:41:46 +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
mattias
79893d2cbe updated makefiles 2023-07-14 16:42:45 +02:00
mattias
ae9ab00109 updated Makefiles 2023-06-30 20:50:27 +02:00
mattias
fde0e0f965 set main version to 3.99 2023-06-25 17:47:14 +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
91c776aade FpDebug: Start improve/fix function calls. Detect params of type P(W)Char. / Stricter testing for matching arguments. 2023-06-20 00:34:04 +02:00
Martin
b7ff978c70 FpDebug: fix mem-leak, if string looks like json, but is not. 2023-06-20 00:34:03 +02:00
Martin
aa389e7e47 FpDebug: fix constant char 'a' as array index. Amend Precedence for [n..m] 2023-06-18 16:03:12 +02:00
Juha
e045ba01d2 Remove units from uses sections, especially LCLProc which now contains many wrappers to other non-LCL units. 2023-06-18 14:57:06 +03:00
mattias
3a13fbf259 updated makefiles 2023-06-11 23:20:56 +02:00
Martin
1f70742be3 LazDebuggerFp, FpDebug: Add option to support "modeswitch AutoDeref" access of values. 2023-06-08 16:04:09 +02:00
Martin
62e692fc24 LazDebuggerFp, FpDebug: Add option to support "modeswitch AutoDeref" access of values. 2023-06-08 14:57:12 +02:00
Martin
63a4789e76 FpDebug: implement typecast TFooRecord(ordinal) for matching data-sizes. 2023-06-06 14:06:20 +02:00
Martin
044ee4f0bc LazDebuggerFp: load line info (blue dots) for libraries 2023-05-27 13:19:33 +02:00
Martin
81b8660cb1 FpDebug: tests, increase timeout 2023-05-27 10:18:41 +02:00
Martin
acfb46b466 FpDebug: test, fix test / ignore load-lib events in count (test for debug loop re-started unexpectedly) 2023-05-27 10:18:41 +02:00
Martin
8ac62b7b82 FpDebug: test, fix compile test-app on linux 2023-05-27 10:18:40 +02:00
mattias
7bc5b63fbb updated makefiles 2023-05-27 02:07:12 +02:00
Martin
3a74b7fa79 FpDebug: tests, increase timeout 2023-05-26 14:05:17 +02:00
Martin
69564087ab FpDebug: Allow to deref constant numbers, and show a memory-dump. Issue #36836 2023-05-19 18:13:41 +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
0045ad70a6 FpDebug: fix incorrect loop over members "Count - 1" in variant-normalizer 2023-04-02 20:35:00 +02:00
Martin
badfeecb5d Debugger: renamed several interfaces, changing "T" prefix to "I" prefix 2023-03-22 19:41:24 +01:00
Martin
afe8ba3180 LazDebuggerFp, FpDebug: Improve some error messages / Start on i18n 2023-03-21 16:41:53 +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
6257b3e55f LazDebuggerFp: fix compile for 32bit 2023-03-12 09:47:52 +01:00
Martin
06d582454b LazDebuggerFp: new converter for variants (convert without function call) 2023-03-12 09:29:21 +01:00
Martin
8ae6281e61 FpDebug: implement set operator = <> >< + - 2023-03-11 12:04:20 +01:00
Martin
1caa678dcf Debugger: Clean up debugln without log_group 2023-03-02 19:56:37 +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
f86112c649 FpDebug: Added support for DW_AT_entry_pc. Implemented <func>.EntryPCAddress to return the entry-point. 2023-02-12 18:50:28 +01:00
Martin
7f0efea9ae FpDebug: tests, fix logging / add timing 2023-02-06 10:55:45 +01:00
Martin
80ef1fb668 FpDebug: Testcases, increase some timeouts 2023-01-24 18:03:16 +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
3ea1675362 FpDebug: Fix test for "step over". non-breaking breakpoints no longer cause an internal pause 2023-01-09 16:46:53 +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
cc31d7752a FpDebug: fix watching fields in "old style" objects 2022-12-07 01:44:51 +01:00
Martin
55f314c9ac FpDebug: Fix subtraction for some pointers / Fix type-info for @char, so minus considers them compatible. 2022-12-06 00:15:34 +01:00
Martin
4c879cc73c FpDebug: Fix disassembler operand size for $a3 "move [...], reg" 2022-12-02 03:19:38 +01:00
Martin
a9cb3d0967 LazDebuggerFp: add feedback if "modify watch" failed. 2022-12-02 01:03:44 +01:00
mattias
6671244b72 updated makefiles, fixed compile fpdebug with fpc 3.2.2 2022-11-13 13:23:46 +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
9e813a6a78 FpDebug: Watch-Function-Eval, support QWord parameters on 32 bit targets 2022-09-25 19:49:42 +02:00
Martin
3ebada48d3 FpDebug: Allow more params passed to function in watch-function-eval 2022-09-23 20:28:20 +02:00
Martin
753799d887 FpDebug: add intrinsics "Pos(SubStr, SearchStr)" and "SubStr(Str, Start, Len, DoPtr) 2022-09-18 23:48:59 +02:00
Martin
4bdc8f2702 FpDebug: add intrinsic "RefCnt()" => RefCount for AnsiString/LongString (Dwarf-3) and dyn array. 2022-09-18 23:48:59 +02:00
Martin
4910e764bb FpDebug: Improve PChar handling in pointer math. 2022-09-18 23:48:59 +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
3952e9ce2d Debugger: Run only current thread for converter function eval. Add option to run all threads. 2022-09-11 17:11:54 +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
ddd2194c61 FpDebug: Testcase, fix mem leak 2022-09-10 21:40:28 +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
659d6aec30 Debugger: changed default intrinsic prefic to ":" / require bracket if no prefix 2022-09-09 12:24:47 +02:00
Martin
787c6de6c0 Debugger: Backend converter. Fixed order of matching. Match from top to bottom. // Add up/down buttons to config 2022-09-07 17:09:55 +02:00
Martin
b5099c1cf4 FpDebug: Test for "Intrinsics function" length() for watches. 2022-09-07 17:09:55 +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
61e5fb272a LazDebuggerFp: fix getting full Callstack.Count - Issue #39886 2022-09-06 21:28:25 +02:00