Commit Graph

1594 Commits

Author SHA1 Message Date
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
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
515c01c063 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-22 17:06:08 +02:00
Martin
b201c1c4d5 FpDebug: fixed spelling 2024-05-22 15:52:53 +02:00
Martin
4e543b65ce FpDebug: Don't create empty CFA entries 2024-05-22 12:12:13 +02:00
Martin
0e3a451627 FpDebug: update DwarfViewer 2024-05-22 12:12:12 +02:00
Martin
8e75a2d637 FpDebug: check for error, before using result from location-parser 2024-05-22 12:12:12 +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
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
45094bcabe FpDebug: add DW_OP_stack_value 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
dc2c0ee78f FpDebug: fix searching line<>address map. / add test 2024-05-18 23:44:44 +02:00
ccrause
8779a95c72 Output descriptions of target enumerations in place of the ordinal values. 2024-05-13 18:36:48 +00:00
ccrause
81d8d38c5c RSP - Handle multiple output messages from OpenOCD. 2024-05-13 16:15:12 +00:00
Martin
5acbe20f96 FpDebug: Return errors when the debugger can't start. 2024-05-09 14:29:44 +02:00
Martin
190b5e77a7 FpDebug: Return errors when the debugger can't start. 2024-05-09 14:24:28 +02:00
Martin
762f48aeb5 FpDebug: fix out of range in line-address lookup 2024-04-28 00:10:50 +02:00
Martin
6b5a7e75ea FpDebug: workaround, when hardcoded int3 is allowed as user breakpoint, don't stop on internal breakrequest. Issue #40910 2024-04-21 19:36:08 +02:00
Martin
7d11cc3fe8 LazDebuggerFp, FpDebug: Handle multipl-breakpoint at the same address. 2024-04-21 16:59:09 +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
ccrause
b73bed0fed FpDebug: Handle partial overlap between breakpoint data and AData buffer. By CCrause. MR: !279 2024-04-20 17:04:27 +02:00
ccrause
fc4f5ae329 Xtensa - Store all registers read for current stack frame. 2024-04-20 10:20:41 +02:00
Martin
3f2ccce591 IdeDebugger: Displayformat defaults for enum-identifier 2024-04-19 17:30:08 +02:00
ccrause
63881011b3 Use byte offset to locate data to be replaced in MaskBreakpointsInReadData. 2024-04-13 22:58:49 +00:00
ccrause
d56f77c2be Use cross platform sockets.CloseSocket call to close a socket. 2024-04-13 14:45:44 +02:00
ccrause
95205d9bc2 Remove unused variable 2024-04-13 14:45:44 +02:00
ccrause
28c86c583b [fpdebug] Track initialization of the remote connection. Fix some issues with qemu and Bloom debug servers. 2024-04-13 14:45:44 +02:00
Martin
655727ed2b FpDebug: keep "\\?\" filenames. 2024-04-11 13:27:34 +02:00
Martin
1aef153d5f FpDebug: Stepping with F8/F7 should asm-step if no line info is available. Issue #40891 2024-04-11 13:07:03 +02:00
Martin
ca431adcf2 FpDebug, test: disable thread check on Linux. Not required, and currently not fully implemented 2024-03-20 19:45:06 +01:00
martin
5c5e12448d FpDebug, Linux: Fix leaked handle 2024-03-20 19:45:06 +01:00
Martin
6f0d8113cd FpDebug: Remove LCL / Win32Proc 2024-03-18 19:54:48 +01:00
Martin
dec0414cd6 FpDebug: update Makefile 2024-03-18 17:54:30 +01:00
Martin
6aa6ea6983 Ide, Debugger, FpDebug: Implement StdIn/StdOut file redirection. Issue #40458 2024-03-18 14:01:44 +01:00
Martin
ed068882ea FpDebug: Improve dis-asm stack-unwinder. Collect register values. 2024-03-15 22:19:51 +01:00
Martin
a005719185 FpDebug: x86-disassembler: fix vcvtph2ps Issue #40837 2024-03-15 16:18:10 +01:00
Martin
0ad56931a0 FpDebug: x86-disassembler: fix pextr/vpextr Issue #40842 2024-03-14 18:56:13 +01:00
Martin
08a139d30e FpDebug: x86-disassembler: fix pmovzx/pmovsx/vpmovzx/vpmovsx Issue #40844 2024-03-14 18:56:12 +01:00
Martin
4fd8e89e60 FpDebug: x86-disassembler: fix popcnt,bsf,tzcnt,bsr,lzcnt Issue #40843 2024-03-14 18:56:12 +01:00
ccrause
5b4f7aa9f4 Only change MemManagager and MemModel for target AVR 2024-03-12 19:18:49 +00:00
ccrause
c6781743e8 fpdebug - Add xtensa support 2024-03-12 19:18:49 +00:00
ccrause
342fd0f5e8 AVR - FLastFrameBaseIncreased should be initialized in GetTopFrame. 2024-03-03 09:59:27 +02:00
Martin
b471a2961e FpDebug: fix memleak when detaching from process. 2024-03-02 18:38:17 +01:00
ccrause
f808839e56 Fix TAvrMemManager.ReadMemory to read multi-byte values from registers by assuming the bytes are stored in consecutive registers. 2024-02-28 21:07:12 +01:00
ccrause
6915cc97fe Implement CallParamDefaultLocation for AVR. 2024-02-28 21:07:12 +01:00
ccrause
88a0e31b16 For AVR the .text section can start at address 0, rather check if section is not allocated before ignoring it. 2024-02-28 21:07:12 +01:00
Martin
8117ca5a5d LazDebugger: Remove TWatchDisplayFormat from debugger backends. 2024-02-28 00:52:45 +01:00
Martin
be387c3f21 FpDebug: Remove TWatchDisplayFormat from PascalBuilder 2024-02-28 00:52:45 +01:00
Martin
e183ea0b5f Debuggers: Add define FORCE_LAZLOGGER_DUMMY 2024-02-28 00:52:43 +01:00
Martin
b0a5ee38f8 FpDebug: refactor new TFpBreakPointTargetHandler / adjust visibility of fields / move creation to factory method 2024-02-19 12:23:45 +01:00
ccrause
dcd15396b9 Further refactoring of TFpBreakPointMap and TGenericBreakPointTargetHandler for x86 and AVR 2024-02-19 12:23:45 +01:00
Martin
ef78dcf1ba FpDebug: move some breakpoint checks to TFpBreakPointTargetHandler 2024-02-15 21:32:31 +01:00
Martin
c6d52ae4b7 FpDebug: split TBreakLocationMap. Make TFpBreakPointTargetHandler a separate class. 2024-02-15 20:33:34 +01:00
Martin
7d5c98dd45 FpDebug: workaround for https://gitlab.com/freepascal.org/fpc/source/-/issues/40641 2024-02-14 21:49:04 +01:00
Martin
4b6fadabca FpDebug: make TBreakLocationMap a generic with variable storage for the data replaced by a breakpoint 2024-02-14 20:01:56 +01:00
Martin
08b1ca8b65 FpDebug: refactor TBreakLocationMap, split out parts handling Address <> TFpInternalBreakpoint mapping 2024-02-14 20:01:55 +01:00
Martin
e2e2f26c91 FpDebug: change HasBreakpointInfoForAddress, replace IP-1 by GetInstructionPointerForHasBreakpointInfoForAddress 2024-02-13 22:31:28 +01:00
Martin
2b3310eb90 FpDebug: refactor HasBreakpointInfoForAddress 2024-02-13 22:31:28 +01:00
Martin
47c34d2e7e FpDebug: fix reading pty for console window. 2024-02-10 22:12:52 +01:00
Martin
add996429b FpDebug, Windows: Setting thread name by exception, check info of received exception 2024-02-10 21:04:07 +01:00
Juha
08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls. 2024-02-09 01:20:35 +02:00
ccrause
5404ba0351 Implement SetStackPointerRegisterValue and SetInstructionPointerRegisterValue for AVR. 2024-02-08 01:53:46 +00:00
ccrause
eabf701ee5 Fpdebug: protect remote communication in SendMonitorCmd with Enter/LeaveCriticalSection. Also remove unused variables. 2024-02-06 22:20:39 +00:00
ccrause
fcbad07545 Update FStatus when calling DoLocalStep 2024-02-06 13:05:06 +00:00
ccrause
a4832021a4 Create the correct derived TFpWatchPointData class for TDbgRspProcess. 2024-02-06 13:05:06 +00:00
Martin
f091646a21 FpDebug: improve cache received threadnames, if the thread is not yet known (may be suspended). Issue #40699 Patch by Red_prig (Pavel) 2024-02-02 22:09:59 +01:00
Martin
ad54dc2ceb FpDebug: Prevent range checks on target address computation 2024-02-01 01:45:20 +01:00
ccrause
ceb2b0340b Fpdebug: for qemu one needs to single step over a breakpoint before continue will work. 2024-01-29 00:17:35 +00:00
Martin
6c83060d4d FpDebug: cache received threadnames, if the thread is not yet known (may be suspended). Issue #40699 Patch by Red_prig (Pavel) 2024-01-28 12:56:32 +01:00
Martin
efcbc7a685 FpDebug,IDE: Windows, Implement Position and Size for console and default-pos Forms - via Run-Params 2024-01-27 21:19:25 +01:00
Martin
5fca66cad9 FpDebug: Make the TDbgProcess instance available as soon as the filename is set. E.g. to allow setting properties on the process before calling StartInstance. 2024-01-27 12:47:07 +01:00
Martin
ac87f213d1 FpDebug: fix range check in stack unwind (CFI) 2024-01-23 11:26:52 +01:00
Martin
84dc22c63c FpDebug: fix mem-leak, if dwarf can't be read 2024-01-21 11:52:14 +01:00
Martin
fd26073763 FpDebug: Improve StepOut, if at entry of function 2024-01-20 16:14:58 +01:00
Martin
5e62cd71d1 Debugger: Improve Thread-Name display. Add support for thread name from GDB (only recent gdb versions) 2024-01-20 16:14:57 +01:00
Martin
7f8267f283 FpDebug: EXCEPTION_SET_THREADNAME check for thread-id. Issue #40699 2024-01-20 12:14:08 +01:00
Martin
5d6489a45a FpDebug: Fix mem leak, if breakpoint is set to "auto destroy" 2024-01-19 15:47:15 +01:00
Martin
ec98b15709 FpDebug: Fix dangling pointer, if debug-backend sets breakpoint too late. 2024-01-19 15:47:14 +01:00
Martin
36aef932c7 FpDebug: EXCEPTION_SET_THREADNAME check for thread-id. Issue #40699 2024-01-19 15:47:14 +01:00
Martin
8ed6d90eb1 Ide,FpDebug: In FpDebug add a thread number (order of first occurrence). In the IDE, prefix the ID with the number. 2024-01-18 22:21:39 +01:00
Martin
532aae6212 FpDebug: Don't read debug info with unknown DW_FORM 2024-01-16 17:31:57 +01:00
Martin
9700c1459b FpDebug: Linux, Use unit "SysCall" rather than "external name". Provide option to define FPDEBUG_USE_LIBC to force use of libc instead of DoSysCall (related to issue #40575) 2024-01-14 23:36:09 +01:00
Martin
f9e55734c6 FpDebug: update apps 2024-01-14 19:29:14 +01:00
Martin
60d2e5540e AMEND 2024-01-14 19:29:13 +01:00
Martin
a8c78c1862 FpDebug: Clean up TFpDbgLocationContext.ReadAddress - MemModel does fill in all fields 2024-01-14 19:29:13 +01: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
5a1d892e69 FpDebug: prevent div-by-zero in the debugger (in the IDE) while evaluating watches. 2023-12-30 20:04:08 +01:00
Martin
5c6662f3e7 FpDebug: Add comparing enum-values in watches "enum1 >= enum2" 2023-12-30 20:03:06 +01:00
ccrause
5023c232e1 Fpdebug: Cleanup of unused code for RSP classes 2023-12-29 07:16:41 +02:00
ccrause
a5662dc472 Fpdeubg: More register management code for AVR and RSP 2023-12-29 07:16:33 +02:00
ccrause
fd3565584c Fpdebug: Display status register flags for AVR 2023-12-29 07:16:20 +02:00
ccrause
5e4596e57a Fpdebug: separate AVR specific code from generic RSP related debug code 2023-12-29 07:15:47 +02:00
ccrause
ceeaf52439 Minor fixes to unwinding code. 2023-12-16 20:00:36 +00:00
ccrause
135d8c1094 FPDebug - [AVR] fix formatting of variable operand instructions elpm, lpm and spm. 2023-12-12 18:57:59 +02: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
ccrause
3dcb41cdbd Tweak stack unwinding when inside prologue and epilogue. 2023-12-12 12:08:19 +00:00
ccrause
ea2947290e Store all decoded information, rather than just directly generating text. Provisional code to decode 16 bit LDS and STS on AVRrc. 2023-12-12 12:00:59 +00: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
Maxim Ganetsky
ddbf9be326 FPDebug: regenerated translations and updated Russian translation 2023-12-04 19:59:26 +03:00
Maxim Ganetsky
607e7f52c0 FPDebug: slightly improved error message 2023-12-04 19:58:27 +03:00
Martin
2acd136518 FpDebug: Implement location-lists (Dwarf 2/3) 2023-12-04 02:19:05 +01:00
Martin
5efaac3f2f FpDebug: find symbol for fpc_raiseexception (and similar) independent of case. 2023-12-04 02:19:00 +01:00
Martin
1bec226da0 FpD: change breakpoints to TFpDbgBreakpoint 2023-12-03 13:05:18 +01:00
ccrause
f11d2744db Cleaned up breakpoint creation. 2023-12-03 13:03:09 +01:00
ccrause
3b833564d5 FpDebug: refactor stack unwinding for AVR 2023-12-02 17:52:40 +00:00
Martin
53474705c4 FpDebug: check error in expressions, when new dbg-values are created. 2023-12-02 16:33:37 +01:00
Martin
c398363932 FpDebug: fix :refcnt for fpc 3.3.1 2023-12-02 16:33:37 +01:00
Martin
8208144cdf FpDebug: test ".." intrinsic operator / Fix error checking 2023-12-02 01:10:39 +01:00
Martin
0922a747d7 FpDebug: fix MaskBreakpointsInReadData. Don't remove non-set breakpoints 2023-11-28 14:01:43 +01:00
Martin
476cfd4484 FpDebug: refactor stack unwinding. Introduce TDbgStackUnwinder and new classes for X86 2023-11-28 01:40:48 +01:00
rich2014
b5db1bf52f FpDebug: fix the compilation issue introduced by 1633420 on MacOS 2023-11-28 01:48:04 +08:00
Juha
1633420b55 FpDebug: linux, add unit syscall / part of issue #40599 2023-11-24 12:16:02 +01:00
Martin
b97a9b80a1 FpDebug: fix disassembler DPPD... / Issue #40567 patch by Red_prig (Pavel) 2023-10-30 18:26:14 +01:00
Martin
3100c5c321 FpDebug: fix disassembler "rep ret" Issue #40562 patch by Red_prig (Pavel) 2023-10-16 11:38:00 +02:00
Martin
cecc5ee87d FpDebug: fix disassembler pause,psrldq,extrq... Issue #40555, #40557, #40558 patch by Red_prig (Pavel) 2023-10-15 18:32:30 +02:00
Martin
d55f353980 FpDebug: 32bit linux target. "HasId" takes an untyped arg. The caller must always pass 64 bits. (itu8 is used to create the map) 2023-10-14 14:33:53 +02: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
a6999c26a6 FpDebug: prevent crash, if library is added twice (incorrect handling for Linux in SynchronizeProcMapsWithLibraryList) 2023-10-14 13:45:26 +02:00
Martin
1db2f6aab4 FpDebug: On Linux read .dynsym if .symtab does not exist. If .symtab exists, then .dynsym should be a subset. 2023-10-14 12:57:14 +02:00
Martin
62e7f5665a FpDebug: fix disassembler vmov.. Issue #40552 patch by Red_prig (Pavel) 2023-10-13 20:28:50 +02:00
Martin
9cff61c5a0 FpDebug: fix disassembler vzero... / test reg.l Issue #40546 and #40549 patch by Red_prig (Pavel) 2023-10-13 13:34:54 +02:00
Martin
8a343f5bc1 Debugger: more asm unwinding 2023-10-09 18:56:51 +02:00
Martin
67069ef84b FpDebug: fix disassembler movq/vmovq Issue #40541 patch by Red_prig (Pavel) 2023-10-09 18:33:52 +02:00
Martin
a50a1e18b5 LazDebuggerFp: fixed uninitialized result 2023-10-07 19:50:26 +02:00
Martin
97c7e680b7 FpDebug: fixes for stack frame search 2023-10-07 14:06:07 +02:00
Martin
8da9f2d084 FpDebug: fix for some missing stackframes 2023-10-05 19:22:31 +02:00
Martin
710fa6f135 FpDebug: fix disassembler "vround"/"vmovm" Issue #40525 #40524 patch by Red_prig (Pavel) 2023-10-02 11:56:23 +02:00
Martin
4cd413a986 FpDebug: fix disassembler "xadd 16bit reg" Issue #40520 patch by Red_prig (Pavel) 2023-09-26 09:03:35 +02:00
Martin
81596aa0bf FpDebug: Fix ".." intrinsic, reset error from previous elements (deref nil sets error on Expression, rather than value) 2023-09-03 18:32:06 +02:00
mattias
8d92e3b67d updated makefiles 2023-08-14 20:31:20 +02:00
Martin
0cd1374f3c FpDebug: Fix "=" and "<>" work with booleans 2023-07-23 21:06:15 +02:00
Juha
e65a102527 Remove unit Laz_AVL_Tree, a copy of unit AVL_Tree. Not needed with FPC 3.2.x. 2023-07-07 17:39:03 +03:00
Juha
adfc424e92 Lazarus trunk requires at least FPC 3.2.0. Remove checks for earlier FPC_FULLVERSION. 2023-07-07 17:39:03 +03:00
mattias
fde0e0f965 set main version to 3.99 2023-06-25 17:47:14 +02:00
Martin
92b6ded394 Fix Compile / missing semicolon 2023-06-18 16:50:21 +02:00
Martin
aa389e7e47 FpDebug: fix constant char 'a' as array index. Amend Precedence for [n..m] 2023-06-18 16:03:12 +02:00
Martin
9a0e268738 FpDebug: fix creating result, when mixing ":cc" intrinsic with "[n..m]" slice. 2023-06-11 11:53:01 +02:00
Martin
ceaec5975a LazDebuggerFp, FpDebug: Add option to support "modeswitch AutoDeref" access of values. 2023-06-08 15:26:01 +02:00
Martin
62e692fc24 LazDebuggerFp, FpDebug: Add option to support "modeswitch AutoDeref" access of values. 2023-06-08 14:57:12 +02:00
Martin
846b00b481 FpDebug: implement shl, shr, <<, >> operators in the pascal parser. 2023-06-08 14:04:11 +02:00
Martin
63a4789e76 FpDebug: implement typecast TFooRecord(ordinal) for matching data-sizes. 2023-06-06 14:06:20 +02:00
Martin
47e0610ac8 FpDebug: fixed assert, when storing broken dyn-array (pointer to random mem). Skipped data hit assert. 2023-06-06 14:04:28 +02:00
Martin
044ee4f0bc LazDebuggerFp: load line info (blue dots) for libraries 2023-05-27 13:19:33 +02:00
mattias
7bc5b63fbb updated makefiles 2023-05-27 02:07:12 +02:00
Martin
7689b1865f FpDebug: Fix freeing SOLibEventBreakpoint (when process is stopped, do not access thread state) 2023-05-26 14:05:17 +02:00
Martin
26263f5f4e FpDebug: Fix "step out" finished early, in recursive code (end inside current call, at line of recursive call)
- After fixing "IsAtHiddenBreak" (check frame is *outside* ) there is no need for "if IsAtOrOutOfHiddenBreakFrame then"
2023-05-26 14:05:16 +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
Juha
5c1be9de89 Support compiling most of Lazarus + its components with -Sy option. 2023-05-20 12:51:35 +03:00
Maxim Ganetsky
1fe3a8a931 FPDebug: updated Russian translation 2023-05-20 02:05:12 +03:00
Martin
69564087ab FpDebug: Allow to deref constant numbers, and show a memory-dump. Issue #36836 2023-05-19 18:13:41 +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
0c94422e48 FpDebug: fix unrolling stack / complete fix for 33556f939f
- TDbgCallstackEntry handles the "addr - 1" by itself.
- But FindCallFrameInfo also needs it. It must search for the address of (or inside of) the asm "call ..." statement.
2023-04-27 16:44:43 +02:00
Martin
f0ce562200 FpDebug: more range check exceptions / fixed missing begin/end 2023-04-02 20:35:34 +02:00
Martin
11c09530bd FpDebug: do not attempt to cache for unknown array types 2023-03-31 23:20:43 +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
Maxim Ganetsky
aba8a43de8 FPDebug: updated Russian translation 2023-03-25 16:39:01 +03:00
Martin
0deadb0dbb FpDebug: find self in class procedure 2023-03-25 08:45:20 +01:00
Martin
c996f57220 Debugger: display data address for strings 2023-03-23 21:31:55 +01:00
Martin
a0ef09293b FpDebug: add intrinsic "len" as shortcut for "length" 2023-03-23 21:31:11 +01:00
Martin
badfeecb5d Debugger: renamed several interfaces, changing "T" prefix to "I" prefix 2023-03-22 19:41:24 +01:00
Martin
0d507a4009 FpDebug: fix nil deref crash in pascal parser. 2023-03-22 11:02:10 +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
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
afe8ba3180 LazDebuggerFp, FpDebug: Improve some error messages / Start on i18n 2023-03-21 16:41:53 +01:00
Martin
c56eb62226 FpDebug: Disassemble fixed/remove data for wrong annotations, if value is indirect or relative to register 2023-03-19 21:54:58 +01:00
Martin
33556f939f FpDebug: unrolling stack, using CFI - fixed address in stack-entry (do not subtract 1) 2023-03-17 21:26:23 +01:00
Martin
981c7d949e FpDebug: Disassembler fix line addr/offs for annotation 2023-03-15 13:55:15 +01:00
Martin
ee4e48864e LazDebuggerFp, FpDebug: Disassembler now annotates lines with call,jmp,je,... with info on the target address. 2023-03-15 00:19:40 +01:00
Martin
cac376d0f9 LazDebuggerFp, FpDebug: Fix watch-function-call when debuggee has crashed. Prevent the function call 2023-03-13 12:32:30 +01:00
Martin
42ae1a7765 LazDebuggerFp, FpDebug: deal with process-exit while watch-eval-function-call 2023-03-13 12:32:29 +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
ca71d82350 FpDebug: Implement substrings via the range-index. MyStr[5..9] now return a substring. 2023-03-12 22:34:27 +01:00
Martin
d331e3ef77 FpDebug: fixes for "substr" intrinsic / optimize using new substring reading 2023-03-12 22:34:27 +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
aa0082f22c FpDebug: Implement array slice in pascal parser, and allow operations on the slice to be mapped to each element. 2023-03-12 22:34:26 +01:00
Martin
3f185f585d FpDebug: Improved error detection, if an array/struct is in un-readable memory, don't keep trying for each element/field 2023-03-11 14:16:16 +01:00
Martin
8ae6281e61 FpDebug: implement set operator = <> >< + - 2023-03-11 12:04:20 +01:00
Martin
d097213d7e FpDebug: "enum in set-variable" operator. 2023-03-10 23:43:53 +01:00
Martin
50296e8cf9 FpDebug: Optimize building result data for arrays. Type-name is the same for each array element. 2023-03-07 17:50:51 +01:00
Martin
8970a4768b FpDebug: Improve partial mem-read. Check early if the address is readable at all. 2023-03-02 20:11:47 +01:00
Martin
0db62b486e FpDebug: added mem-read cache for ArrayToResData / PascalBuilder 2023-03-02 19:56:41 +01:00
Martin
1caa678dcf Debugger: Clean up debugln without log_group 2023-03-02 19:56:37 +01:00
Martin
196981e0a7 FpDebug, app/FpdServer: fixed compilation 2023-03-02 19:56:36 +01:00
Juha
994659c015 Add loongarch64 support. FPC trunk supports it, too. Issue #40127, patch by Alfred Glänzer. 2023-02-25 23:24:38 +02:00
Martin
5895004fde FpDebug: Fix memleak with breakpoint for libraries 2023-02-19 09:36:07 +01:00