Commit Graph

126 Commits

Author SHA1 Message Date
Martin
accf0b9280 FpDebug: remove debugln 2024-10-04 11:29:02 +02:00
Martin
c0907fabd1 FpDebug: Fix SEH-finally block detection on Win 2024-10-04 11:16:06 +02:00
Martin
c8f30b1459 FpDebug: fix I2O intrinsic / value to "out param" can't be passed as ref in other param. 2024-08-15 22:43:57 +02:00
Martin
59f3382161 FpDebug: Improve calling methods in watches, search SymbolTable for mangled method name to get address. 2024-08-11 21:34:40 +02:00
Martin
6123662232 FPDebug: small optimizations in dwarf search for name. Also skip enum-value names when looking for procedures or class-names. 2024-08-10 21:33:25 +02:00
Martin
8af587ec77 FpDebug: array-slice intrinsic, add mapping terminator "!" 2024-08-02 22:08:16 +02:00
Martin
a5486f6a71 FpDebug: new intrinsic i2o => show object that implements an interface. 2024-07-25 21:15:24 +02:00
Martin
be343003c0 FpDebug: fix incorrect class typecasts 2024-07-25 21:08:16 +02:00
Martin
68b94f6b72 FpDebug: fix for Line-To-AddressMap. Lines for one unit(file) can be split can be split across several CU (generics). Create global line maps. TODO: a single file can also occur in several libraries (separate TFpDwarfInfo) with different line ranges in use. 2024-07-07 13:37:45 +02:00
Martin
48056a4e61 FpDebug: fix getting exception message for FPC 3.3.1 / read vInstanceSize of TObject to calculate field location. 2024-06-21 23:04:04 +02:00
Martin
2d184e35d8 FpDebug: Optimize reading empty string / don't range check codepage address (MemRead will set an error if invalid) 2024-06-06 17:42:35 +02:00
Martin
eabd1453d0 FpDebug: refactor multi-dim array, for non-fpc specific Dwarf. 2024-06-06 17:42:35 +02:00
Martin
747b9e5552 FpDebug: consolidate some string related code 2024-05-22 12:12:11 +02:00
Martin
baa905dd96 FpDebug: fixes for DW_TAG_string_type 2024-05-22 12:12:11 +02:00
ccrause
c327f03044 Move IsReadableLoc and IsReadableMem to MemModel. 2024-01-14 19:29:13 +01:00
Martin
c398363932 FpDebug: fix :refcnt for fpc 3.3.1 2023-12-02 16:33:37 +01: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
c996f57220 Debugger: display data address for strings 2023-03-23 21:31:55 +01:00
Martin
73f0e0ea68 FpDebug: FpDbgDwarfFreepascal, when searching all units, search "system" unit last. It can contain 16bit PInteger, even if the app is ObjPas. Also prevent the scoped enums true/false/word in sysutils and typinfo. Related to issue #40173 2023-03-21 18:04:19 +01:00
Martin
db27ef882d FpDebug: clean up compile hints 2023-03-12 22:34:28 +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
60d221f23a FpDebug: Show "self" in locals window. Fpc encodes it as "this", so FpDebug must replace the name. Issue #39907 and part of issue #40000 2023-02-04 13:00:19 +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
8ef10902f3 FpDebug: Stack, CFI - For older FPC (broken CFI) always continue non-CFI eval. 2022-10-27 15:42: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
7e6a705caf FpDebug: Fix array (element len), issue introduced in 116b22ed72 "Introduce "Intrinsics functions" for watches." 2022-09-07 20:08:42 +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
1c87d53199 Debugger: implement reading class.unitname from RTTI 2022-08-05 02:45:01 +02:00
Martin
48043da966 Debugger: Converter, match "*" and inheritance via "is:" 2022-08-01 18:41:17 +02:00
Martin
b014798858 LazDebuggerFp, FpDebug: Enable watch-eval calling function with strings as param/result (only DWARF 3 / up) 2022-06-21 00:29:07 +02:00
Martin
63a6ce4f32 FpDebug: added IFDEF $INLINE OFF 2022-06-21 00:06:04 +02:00
Martin
41cb28febf FpDebug: fix crash on nil object 2022-06-12 11:43:05 +02:00
Martin
e3d41a28e0 FpDebug: Provide access to internal nested type info 2022-06-09 17:46:23 +02:00
Joost van der Sluis
09d676c6ba FpDebug: Ability to request a strings codepage 2022-03-26 20:13:00 +01:00
Martin
8335731953 FpDebug: Fixed uninitialized variables. 2022-02-22 01:01:40 +01:00
Martin
85c71832e3 FpDebug: Win64 SEH finally sub-routines, show correct line for resolved symbol 2021-12-12 21:00:27 +01:00
Martin
499026c519 FpDebug: Win64 SEH finally sub-routines, find the symbol for the procedure actually owning the finally block 2021-12-07 22:56:11 +01:00
Martin
d8188bb780 FpDebug: Show "class var" if in current context (no class/instance-name prefix). 2021-12-01 19:55:39 +01:00
Sergey Larin
20fc451aa1 FpDebug takes into account that FPC 3.3.1 changed offset of the CodePage field in TAnsiRec.
When reading strings, FpDebug sets the required CodePage to the received AnsiString, the value of which is read from the memory of the process being debugged.
2021-08-27 21:24:07 +03:00
martin
6661f86edd Debugger: allow to force lazloggerbase via define
git-svn-id: trunk@65227 -
2021-06-14 07:30:45 +00:00
martin
0473f430ec FpDebug: Less compile warnings
git-svn-id: trunk@65160 -
2021-05-31 14:24:55 +00:00
martin
068feeb931 FpDebug: remove MemMgr.DefaultContext. All MemRead/Write must go via a location-context.
git-svn-id: trunk@64554 -
2021-02-12 18:31:07 +00:00
juha
77e6853ca6 Components: Reduce calls to LowerCase().
git-svn-id: trunk@64515 -
2021-02-10 13:43:15 +00:00
juha
b53ad7ceed Components: Reduce calls to UpperCase() and LowerCase(). Improves performance.
git-svn-id: trunk@64506 -
2021-02-08 19:09:30 +00:00
martin
0027bd2412 FpDebug: better shortstring detection / pointer base-size for string/array types
git-svn-id: trunk@64399 -
2021-01-16 19:30:08 +00:00
martin
953c9964f8 FpDebug: make more string params "const foo :string"
git-svn-id: trunk@63810 -
2020-08-22 20:27:14 +00:00
martin
24a3af8855 FpDebug: Refactor passing upper+lowercase name for search
git-svn-id: trunk@63807 -
2020-08-22 20:27:08 +00:00
martin
1ba76474e3 FpDebug: Separate Context and SearchScope
git-svn-id: trunk@63784 -
2020-08-18 23:12:46 +00:00
martin
93c1ca640f FpDebug: Rename some context classes, and search functions. Start differentiating between Context and SearchScope
git-svn-id: trunk@63783 -
2020-08-18 23:12:42 +00:00