Commit Graph

1590 Commits

Author SHA1 Message Date
Martin
ca83c7dbca FpDebug: fix crash with cached flatten data. Values must not refer to expression (as expression is not part of the cache) 2024-10-09 00:46:27 +02:00
Martin
7e274a48e7 FpDebug: PascalParser, missing nil check 2024-10-08 11:48:31 +02:00
Martin
8f683d316c FpDebug: fix :flatten intrinsic, if first value is array. Don't add a data address without adding an item. 2024-10-08 10:43:54 +02:00
Martin
386bd90d76 FpDebug: fix :TryN intrinsic for pointer types 2024-10-07 21:58:49 +02:00
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
7c370e7757 FpDebug: Linux fix finding "_dl_debug_state" (fol library debugging) when the main exe uses external debug info. Issue #41033 2024-10-03 18:09:13 +02:00
Martin
1bc39f7331 FpDebug: Linux, Improve ReadData for partial reads 2024-09-29 16:41:20 +02:00
Martin
166db6365e FpDebug: Improve target-mem-read on Linux. Issue #41161 Patch by Alexander (Rouse_) Bagel 2024-09-28 18:56:56 +02:00
Martin
4a3a87c2ac FpDebug: remove unused unit / Also Issue #41160 old and wrong version of ULEB128toOrdinal 2024-09-27 21:41:19 +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
1c6efc9edc FpDebug: Improve the display of types (in watches) for structure-types in pointer to struct. Issue #40882 2024-09-26 00:06:46 +02:00
Martin
ac1a3e6fd2 FpDebug: improve TX86AsmDecoder.UnwindFrame 2024-09-25 22:21:53 +02:00
Martin
8e2532bdfc FpDebug: improve TX86AsmDecoder.UnwindFrame 2024-09-25 20:59:22 +02:00
Martin
041a654351 IdeDebugger: Add Mem-Viewer 2024-09-22 17:39:25 +02:00
Martin
72314563d9 FpDebug: fix memleak in function eval 2024-09-13 21:03:16 +02:00
Martin
57d2302e40 FpDebug: don't overwrite deException when at end of step. Issue #41136 2024-09-13 21:03:15 +02:00
Martin
a310bf43dc FpDebug: clean up / See MR !310 2024-08-21 22:35:54 +02:00
ccrause
d8382b9c37 Add a more detail to error message 2024-08-21 18:41:40 +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
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
68d14314b2 FpDebug: allow comparing (equal) pointer = number. 2024-08-02 22:43:29 +02:00
Martin
8af587ec77 FpDebug: array-slice intrinsic, add mapping terminator "!" 2024-08-02 22:08:16 +02:00
Martin
d61c5aaa38 FpDebug: array-slice intrinsic, fix order for nested slices 2024-07-31 22:56:16 +02:00
Martin
0c87fe9174 FpDebug: add intrinsic :obj() 2024-07-31 22:55:30 +02:00
Martin
658e54abc6 FpDebug: Pascal-parser, add mapping to flatten intrinsic. (new separator ":") 2024-07-31 22:11:26 +02:00
Martin
0b109f4e2d FpDebug: fixes for flatten-intrinsic 2024-07-28 21:39:07 +02:00
Martin
1c61ed510e FpDebug: flatten intrinsic, fix a nil pointer, fix array expand 2024-07-26 21:06:43 +02:00
Martin
d7d77c934e FpDebug: flatten intrinsic, add optional info about depth/fields for each element 2024-07-26 20:13:40 +02:00
Martin
a5486f6a71 FpDebug: new intrinsic i2o => show object that implements an interface. 2024-07-25 21:15:24 +02:00
Martin
a16aac7aa5 FpDebug: fix compile 32bit linux 2024-07-25 21:08:16 +02:00
Martin
be343003c0 FpDebug: fix incorrect class typecasts 2024-07-25 21:08:16 +02:00
Martin
da812e6d12 FpDebug: flatten intrinsic, fixes for use with slices (no cache) 2024-07-24 22:07:08 +02:00
Martin
9c975dcca8 FpDebug: flatten intrinsic, improve cache. Some values may be computed, the "key" string" does not account for that. 2024-07-24 22:07:08 +02:00
Martin
25c65cfd8b FpDebug: flatten intrinsic, option to handle arrays 2024-07-24 22:07:08 +02:00
Martin
c238c026d1 FpDebug: Change slice-operator. Add "disable" for terms that handle the slice themself (substring) 2024-07-24 22:07:08 +02:00
Martin
f6c415d958 FpDebug: FIX, Array-slices [n..m], check if they are in active part of condition. If not, don't create multiple results. 2024-07-24 19:24:24 +02:00
Martin
64b2dbfaea FpDebug: Array-slices [n..m], check if they are in active part of condition. If not, don't create multiple results. 2024-07-24 13:04:39 +02:00
Martin
c4deaeadcf FpDebug: Conditionals (?IF or Try/N) must flag variant returns in slices 2024-07-24 13:04:38 +02:00
Martin
cbfd80ce39 FpDebug: Add "switch" trinary-operator ... ? ... : ... 2024-07-23 19:40:32 +02:00
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
247439f286 FpDebug: Fixed missing FORCE_LAZLOGGER_DUMMY 2024-07-21 18:58:12 +02:00
Martin
66378dafd9 FpDebug: fix missing refcount / possible dangling pointer for TypeSymbol 2024-07-21 18:58:12 +02:00
ccrause
5c1ef5b508 Remote RISC-V 32 bit support. 2024-07-16 14:18:42 +02:00
mattias
f286fac16b updated makefiles 2024-07-15 10:50:53 +02:00
Martin
76c4dc085a FpDebug: (fix compile) display-format for ymm/xmm 2024-07-12 17:00:07 +02:00
Martin
9092967d44 FpDebug: display-format for ymm/xmm 2024-07-12 16:45:49 +02:00
Martin
2d8a7be0db FpDebug: [fix] defer reading register-list for non-threads (only showing in thread window) 2024-07-12 15:08:24 +02:00
Martin
5109ab17f3 FpDebug: defer reading register-list for non-threads (only showing in thread window) 2024-07-12 13:45:17 +02:00
Martin
7cf389203d FpDebug: Windows, Ymm register 2024-07-12 13:45:16 +02:00
Martin
bb2caca569 FpDebug: float register, set soft-fpu exception mask while retrieving. 2024-07-11 21:05:27 +02:00
Martin
c40ded9bd0 FpDebug: float register, set exception mask while retrieving. 2024-07-11 16:19:13 +02:00
Martin
ae9a3f9147 FpDebug: float register, set exception mask while retrieving. 2024-07-11 16:18:07 +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
713557843d FpDebug: fix compile with fpc 3.2.2 2024-07-11 10:06:31 +02:00
Martin
9b80ed2c3b FpDebug: fix compile win32 2024-07-11 01:25:08 +02:00
Martin
15b8b4893e FpDebug, IDE: show address for RIP relative asm operand 2024-07-11 01:10:18 +02:00
Martin
a7345859cd FpDebug: Windows, added float registers / use softfpu for 80bit (convert to double) 2024-07-11 00:13:53 +02:00
Martin
c424cf492d FpDebug: fix compile win32 2024-07-11 00:05:52 +02:00
Martin
b55faa7970 FpDebug: Linux, added float registers 2024-07-10 23:46:52 +02:00
Martin
85f227d16f FpDebug: Linux, remove define / always true 2024-07-10 20:21:13 +02:00
Martin
70bb0c369a FpDebug: Windows, added float registers 2024-07-10 20:21:13 +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
Martin
a8ca4af5be FpDebug: Don't register, if Sy is active / raise exception if created. (FIX / Missing) 2024-06-30 12:25:39 +02:00
Martin
8f0a1d219c FpDebug: Don't register, if Sy is active / raise exception if created. 2024-06-30 11:40:32 +02: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
12f7bbf511 FpDebug: Remove an unused and non-existent used unit. 2024-06-30 09:06:51 +03:00
Maxim Ganetsky
2547c55391 Revert "DebuggerIntf: Use units from fcl-proc331/ without "in 'fcl-proc331/...'" syntax."
This reverts commit 6350e1a094.

It broke compilation with FPC 3.2.2. Some other solution should be
found.
2024-06-29 21:38:56 +03:00
Juha
6350e1a094 DebuggerIntf: Use units from fcl-proc331/ without "in 'fcl-proc331/...'" syntax. 2024-06-29 16:22:20 +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
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
71b46c3d5f FpDebug: fix PascalParser, handle coma in sub-expression 2024-06-21 14:11:28 +02:00
Martin
b678f7b820 FpDebug: Ensure correct compiler options 2024-06-10 11:40:43 +02:00
Martin
82cc65e98b FpDebug: fix bound-calc for arrar (non Fpc Dwarf) 2024-06-06 18:00:05 +02:00
Martin
951eacad37 FpDebug: Update fpc version check for broken Dwarf-4 line info 2024-06-06 17:42:35 +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
c030c1af73 FpDebug: line/address lookup, fix uninitialized result for "file-found", used for pending breakpoints 2024-06-05 17:52:54 +02:00
Martin
8ee632a157 FpDebug: Update user-set address breakpoints, when libraries are loaded/unloaded. Issue #40973 2024-06-05 17:52:54 +02:00
Martin
00507e47df FpDebug: Update internal breakpoints, if they failed to be set. 2024-06-05 17:52:46 +02:00
Martin
6d6f77a870 FpDebug: Move break-setting error flag from Handler to Map 2024-06-05 17:52:45 +02:00
Martin
700a308afc FpDebug: fix looking up symbols with unit-name prefix 2024-05-25 12:51:25 +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
Martin
ed9974287b FpDebug: update DwarfViewer 2024-05-23 20:04:36 +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
dc46e8ce2e FpDebug: Windows, implement alternative "normal" file reading (via stream). On 32bit mapping an entire file into memory can fail, if not enough continuous memory is available. 2024-05-23 20:04:35 +02:00