Commit Graph

157 Commits

Author SHA1 Message Date
Martin
99f2947c48 FpDebug: reduce compiler warnings 2025-03-02 11:23:28 +01:00
Martin
79bed04544 FpDebug: Fix reading DWARF-5, use correct HeaderSize when resolving references. 2025-02-24 11:12:44 +01:00
Martin
0530a14bd5 FpDebug: Add safeguard/error-checks to TDwarfInformationEntry.PrepareAbbrev / PrepareAbbrevData. Issue #41459 2025-02-23 23:34:06 +01:00
Martin
6c006a3e8e FpDebug, LazDebuggerFp: Improve workaround for FPC issue 37658 / Check both: full-path, and no-path. 2025-01-31 01:25:57 +01:00
Martin
5141571608 FpDebug: improve loading DWARF line info. Fix workaround for FPC issue 37658 / check the expanded FileName 2025-01-29 11:20:07 +01:00
Martin
bbcdf77e01 FpDebug: Update "dwarf-4 fix for broken fpc". Fpc 3.2.3 has been fixed 2024-11-23 14:55:28 +01:00
Martin
ba0a9c5bf7 FpDebug: fix checks for end of CIE-data. Don't read outside the section data. 2024-11-23 14:55:27 +01:00
Martin
c0a07ff85f FpDebug: add protection against huge line numbers 2024-11-16 23:16:54 +01:00
Martin
fdee6e8947 FpDebug: Line-Addr-Map, better check for max line offset. 2024-11-16 14:43:49 +01:00
Martin
e98044f52f FpDebug: Line-Addr-Map, use Hash/Dictionary for filenames 2024-11-16 12:50:53 +01:00
Martin
d461637604 FpDebug: Change line-num/address mapping. Improve performance. Issue #41230 2024-11-13 14:48:00 +01:00
Martin
678b9aa2dc FpDebug: faster search for CompilationUnit by Address. 2024-10-19 09:29:24 +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
b61aabee0b FpDebug: add intrinsic :flatten() to walk object chains. 2024-07-22 13:43:43 +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
48c96f03fc FpDebug: improve compile error msg 2024-07-05 10:28:07 +02:00
Martin
a7e0868e6c FpDebug: Use faster lowercase method (for Code with English idents) 2024-07-01 11:19:17 +02:00
Juha
4b688c01e0 Revert "FpDebug: Disable Typedaddress check (-Sy) FpDbgDwarfDataClasses. Allow compiling rest of the IDE with it."
This reverts commit b53ba8e137.
2024-06-30 16:45:56 +03:00
Juha
b53ba8e137 FpDebug: Disable Typedaddress check (-Sy) FpDbgDwarfDataClasses. Allow compiling rest of the IDE with it. 2024-06-30 10:56:46 +03:00
Juha
134275eeec LazUtils: Move funcs QuickUtf8UpperCase and QuickUtf8LowerCase from FpDbgUtil to LazUTF8 and name them differently. Part of issue #40893. 2024-06-29 11:55:58 +03:00
Martin
b678f7b820 FpDebug: Ensure correct compiler options 2024-06-10 11:40:43 +02:00
Martin
951eacad37 FpDebug: Update fpc version check for broken Dwarf-4 line info 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
a0f66fb2b9 FpDebug: DWARF-4, DW_AT_high_pc can be constant/offset 2024-05-23 20:04:36 +02:00
Martin
7f9391a737 FpDebug: read line-info for Dwarf-4 / fix special opcode must set flags for PrologueEnd, EpilogueBegin, ... 2024-05-23 20:04:36 +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
4e543b65ce FpDebug: Don't create empty CFA entries 2024-05-22 12:12:13 +02:00
Martin
a5c48c104e FpDebug: very basic/partial implementation for DW_OP_call_frame_cfa (register only) 2024-05-22 12:12:12 +02:00
Martin
45094bcabe FpDebug: add DW_OP_stack_value 2024-05-22 12:12:11 +02:00
Martin
dc2c0ee78f FpDebug: fix searching line<>address map. / add test 2024-05-18 23:44:44 +02:00
Martin
762f48aeb5 FpDebug: fix out of range in line-address lookup 2024-04-28 00:10:50 +02:00
Martin
0b2c6bd8fa FpDebug: Allow breakpoints on lines without code (search up to N lines below). 2024-04-21 16:59:08 +02:00
Juha
08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls. 2024-02-09 01:20:35 +02:00
Martin
ad54dc2ceb FpDebug: Prevent range checks on target address computation 2024-02-01 01:45:20 +01:00
Martin
84dc22c63c FpDebug: fix mem-leak, if dwarf can't be read 2024-01-21 11:52:14 +01:00
Martin
532aae6212 FpDebug: Don't read debug info with unknown DW_FORM 2024-01-16 17:31:57 +01:00
ccrause
3ecbb52069 Updated MemModel structure. 2024-01-14 19:29:12 +01:00
Martin
c2e59c7885 FpDebug,LazDebugger: changes to MemManager to allow avr-read-register-as-address 2023-12-12 13:15:32 +01:00
ccrause
86c274950e Implement a ReadRegisterasAddress MemManager method so that it can be overridden for AVR to read register based addresses from two consecutive registers. 2023-12-12 13:15:32 +01:00
Martin
2acd136518 FpDebug: Implement location-lists (Dwarf 2/3) 2023-12-04 02:19:05 +01:00
Martin
0fad4e40d9 FpDebug: Handle overflow for relocation with 32bit target. RelocationOffset is stored as QWord, but can be negative. For 32bit targets the overflow must be masked out. 2023-10-14 14:05:39 +02:00
Martin
63a4789e76 FpDebug: implement typecast TFooRecord(ordinal) for matching data-sizes. 2023-06-06 14:06:20 +02:00
Juha
becbb68a0d FpDebug: Use {$PUSH} {$T-} ... {$POP} instead of Pointer() typacasts in some places. 2023-05-21 18:16:44 +03:00
Juha
db2bca3949 Support compiling more of Lazarus + its components with -Sy option. 2023-05-21 01:32:42 +03: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
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
c5057d55ed FpDebug: add flag dafHasArtifical - only read value, if present 2023-03-21 16:41:54 +01:00