Commit Graph

171 Commits

Author SHA1 Message Date
Martin
9a1ba57dc4 FpDebug: PascalParser, fix error checking for sub-expressions in brackets 2024-07-23 18:57:04 +02:00
Martin
8bb9d6eece FpDebug: PascalParser, optimize check for finding left-side of operator / clarify description 2024-07-23 18:56:26 +02:00
Martin
bafbb1e6fa FpDebug: fix "override" for GetFullText 2024-07-23 14:20:47 +02:00
Martin
7352ac6ad6 FpDebug: fixes for intrinsic Try/TryN, an invalid address is an error 2024-07-23 14:19:41 +02:00
Martin
f76614452c FpDebug: more intrinsics: Try, TryN, Ord, Log, Pi, Ln, Sqrt, Sin,Cos,Tan (includes part of issue #40839 ) 2024-07-22 23:44:38 +02:00
Martin
e98a5d2b44 FpDebug: Add cache for flatten intrinsic. / Ensure the same TFpDbgSimpleLocationContext object is used for each watch (on the Parser-expression), so it can act as key. 2024-07-22 13:55:55 +02:00
Martin
b61aabee0b FpDebug: add intrinsic :flatten() to walk object chains. 2024-07-22 13:43:43 +02:00
Martin
836e23ff27 FpDebug: fix new registers as watch result / get text, instead of read-int / add unique reg-nums 2024-07-11 12:21:40 +02:00
Martin
71b46c3d5f FpDebug: fix PascalParser, handle coma in sub-expression 2024-06-21 14:11:28 +02:00
Martin
50102fef2b FpDebug: PascalParser, change wrongly named "Context" to "Scope" 2024-05-25 12:51:25 +02:00
Martin
ccdcbb7bcf FpDebug: PascalParser, treat skInterface like skClass 2024-05-23 23:52:22 +02:00
ccrause
c327f03044 Move IsReadableLoc and IsReadableMem to MemModel. 2024-01-14 19:29:13 +01:00
Martin
5a1d892e69 FpDebug: prevent div-by-zero in the debugger (in the IDE) while evaluating watches. 2023-12-30 20:04:08 +01:00
Martin
5c6662f3e7 FpDebug: Add comparing enum-values in watches "enum1 >= enum2" 2023-12-30 20:03:06 +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
81596aa0bf FpDebug: Fix ".." intrinsic, reset error from previous elements (deref nil sets error on Expression, rather than value) 2023-09-03 18:32:06 +02:00
Martin
0cd1374f3c FpDebug: Fix "=" and "<>" work with booleans 2023-07-23 21:06:15 +02:00
Martin
92b6ded394 Fix Compile / missing semicolon 2023-06-18 16:50:21 +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
Martin
9a0e268738 FpDebug: fix creating result, when mixing ":cc" intrinsic with "[n..m]" slice. 2023-06-11 11:53:01 +02:00
Martin
ceaec5975a LazDebuggerFp, FpDebug: Add option to support "modeswitch AutoDeref" access of values. 2023-06-08 15:26:01 +02:00
Martin
62e692fc24 LazDebuggerFp, FpDebug: Add option to support "modeswitch AutoDeref" access of values. 2023-06-08 14:57:12 +02:00
Martin
846b00b481 FpDebug: implement shl, shr, <<, >> operators in the pascal parser. 2023-06-08 14:04:11 +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
f0ce562200 FpDebug: more range check exceptions / fixed missing begin/end 2023-04-02 20:35:34 +02:00
Martin
2df8c6199b FpDebug: clear cache for array slice entries. Fix range check, when operating on addresses in target. 2023-03-31 23:16:30 +02:00
Martin
a0ef09293b FpDebug: add intrinsic "len" as shortcut for "length" 2023-03-23 21:31:11 +01:00
Martin
0d507a4009 FpDebug: fix nil deref crash in pascal parser. 2023-03-22 11:02:10 +01:00
Martin
afe8ba3180 LazDebuggerFp, FpDebug: Improve some error messages / Start on i18n 2023-03-21 16:41:53 +01:00
Martin
2d20810ef6 FpDebug: fixed intrinsic "pos", added: lower, upper, round, trunc 2023-03-13 00:02:39 +01:00
Martin
db27ef882d FpDebug: clean up compile hints 2023-03-12 22:34:28 +01:00
Martin
ca71d82350 FpDebug: Implement substrings via the range-index. MyStr[5..9] now return a substring. 2023-03-12 22:34:27 +01:00
Martin
d331e3ef77 FpDebug: fixes for "substr" intrinsic / optimize using new substring reading 2023-03-12 22:34:27 +01:00
Martin
ea78367138 FpDebug: Improve reading char from "string[index]". Read only the char in question / Do not fail on MemLimit.MaxStringLen 2023-03-12 22:34:27 +01:00
Martin
aa0082f22c FpDebug: Implement array slice in pascal parser, and allow operations on the slice to be mapped to each element. 2023-03-12 22:34:26 +01:00
Martin
8ae6281e61 FpDebug: implement set operator = <> >< + - 2023-03-11 12:04:20 +01:00
Martin
d097213d7e FpDebug: "enum in set-variable" operator. 2023-03-10 23:43:53 +01:00
Martin
57da4cd7fd FpDebug: allow calling functions from function-pointer variables. (Not yet method variables) 2023-02-12 21:30:15 +01:00
Martin
cdafe7d9a3 FpDebug: make "^char" display string-like, like PChar. 2022-12-06 00:15:35 +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
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
099f690aea FpDebug: Fix parsing &Identifer in watches 2022-09-09 13:04:36 +02:00
Martin
659d6aec30 Debugger: changed default intrinsic prefic to ":" / require bracket if no prefix 2022-09-09 12:24:47 +02:00
Martin
6126d94aaf FpDebug: add intrinsic "CC()" => ChildClass for dynamic casting to instance class 2022-09-08 22:53:52 +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
f58a7bde79 LazDebuggerFp: add %register syntax for watches 2022-09-07 04:36:34 +02:00