Commit Graph

1482 Commits

Author SHA1 Message Date
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