Commit Graph

352 Commits

Author SHA1 Message Date
Martin
2394ead7a9 FpDebug: improve handling enum with negative ord value.
(cherry picked from commit 4d21661950)
2024-11-17 23:14:53 +01:00
Martin
bcd6d2ced6 FpDebug: fix range check error with enum values (negative ord value). Issue #41240
(cherry picked from commit d93235de52)
2024-11-17 13:17:39 +01:00
Martin
c0907fabd1 FpDebug: Fix SEH-finally block detection on Win 2024-10-04 11:16:06 +02:00
Martin
d0a3a004df FpDebug: implement 80 bit extended float (soft fpu) for cross debugging a win-32bit target from a 64bit IDE 2024-09-27 21:34:55 +02:00
Martin
a310bf43dc FpDebug: clean up / See MR !310 2024-08-21 22:35:54 +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
06ecb6ff9d FpDebug: clean up char compare (don't use set of char for single char) !310 2024-08-02 23:14:52 +02:00
Martin
66378dafd9 FpDebug: fix missing refcount / possible dangling pointer for TypeSymbol 2024-07-21 18:58:12 +02:00
Martin
82cc65e98b FpDebug: fix bound-calc for arrar (non Fpc Dwarf) 2024-06-06 18:00:05 +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
700a308afc FpDebug: fix looking up symbols with unit-name prefix 2024-05-25 12:51:25 +02:00
Martin
0d47565d98 FpDebug: add DW_FORM_sec_offest, DW_FORM_exrloc, DW_FORM_flag_present, DW_FORM_ref_sig8 2024-05-23 20:04:35 +02:00
Martin
b2ed046722 FpDebug: defaults for DW_AT_lower_bound 2024-05-22 23:26:09 +02:00
Martin
2383f18a82 FpDebug: Move getting FrameBase to Context. 2024-05-22 22:53:05 +02:00
Martin
8e75a2d637 FpDebug: check for error, before using result from location-parser 2024-05-22 12:12:12 +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
Martin
1b6c857812 FpDebug: fix memleak 2024-05-19 13:44:08 +02:00
Martin
c33f507472 FpDebug: fix reading dwarf for arrays with several indexes (written as multiple bounds in the same TAG_array). E.g. as done by llvm. 2024-05-19 13:44:08 +02:00
Martin
dbd0141eac FpDebug: MemModel for Win/Darwin / fixes 2024-01-14 19:29:13 +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
c3b6ede519 FpDebug: fix memleak in local vars / Introduced in SetLocalProcInfo commit ead31d2c8c 2023-12-09 20:51:41 +01:00
Martin
adf9883a33 FpDebug: Fix for location lists 2023-12-06 22:08:34 +01:00
Martin
ead31d2c8c FpDebug: Set ProcValue (for FrameBaseNeeded) when locals/params are gotten from ProcVal.Members (affects stack and locals) 2023-12-06 17:02:43 +01:00
Martin
2acd136518 FpDebug: Implement location-lists (Dwarf 2/3) 2023-12-04 02:19:05 +01:00
Martin
63a4789e76 FpDebug: implement typecast TFooRecord(ordinal) for matching data-sizes. 2023-06-06 14:06:20 +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
f7ab7582f2 FpDebug: Added basic code for DW_TAG_string_type 2023-03-28 10:53:28 +02:00
Martin
0deadb0dbb FpDebug: find self in class procedure 2023-03-25 08:45:20 +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
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
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
57da4cd7fd FpDebug: allow calling functions from function-pointer variables. (Not yet method variables) 2023-02-12 21:30:15 +01:00
Martin
9569f7beff FpDebug: Added DW_AT_vtable_elem_location 2023-02-12 20:43:03 +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
dd5d291621 FpDebug: Fix watching local/param with name "this". Variables with "this" as name were hidden by the "self" param (that fpc encodes as "this") 2023-02-04 13:24:56 +01:00
Martin
cc31d7752a FpDebug: fix watching fields in "old style" objects 2022-12-07 01:44:51 +01:00
Martin
d8f2ce5a1f FpDebug: fix mem leak 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
4910e764bb FpDebug: Improve PChar handling in pointer math. 2022-09-18 23:48:59 +02:00
Martin
dd22337fc3 FpDebug: fix accessing nil pointer 2022-08-05 17:33:28 +02:00
Martin
8749ca4f20 FpDebug: fix address for interfaces 2022-08-05 02:44:29 +02:00
martin
2fce58a3de FpDebug: support DW_TAG_variant_part 2022-07-13 21:19:35 +02:00