Commit Graph

145 Commits

Author SHA1 Message Date
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
Martin
3bff86dc23 FpDebug: save time by checking name hash before reading attributes. 2023-03-21 16:41:54 +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
766684e0f6 FpDebug: Added error checking. Ensure pointer to information-entry points to an existing entry. 2023-02-06 10:56:56 +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
ccrause
b787b45f59 Specify CIE address size for AVR8 architecture. 2023-01-08 17:04:58 +01:00
Martin
bcb511f8c1 FpDebug: fix parsing linemap, after commit 5e1326dab3 2022-11-22 16:29:09 +01:00
mattias
5e1326dab3 fpdebug: fixed crash 2022-11-22 02:36:49 +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
ccrause
4c3d53137f Only break out of search loop if current Result contains the sfHasLine flag. 2022-08-08 09:25:20 +02:00
Martin
795b94703f FpDebug: missing result initialization 2022-08-07 23:19:17 +02:00
Joost van der Sluis
4ed7f56bb4 FpDebug: Handle CIEs and FDEs without instructions properly 2022-07-02 00:31:15 +02:00
Martin
649e4600ef FpDebug: fix range check error from changes in 62145cd833, "Use Dwarf Call Frame Information (CFI) for stack-tracing when available. 2022-06-29 16:26:22 +02:00