Commit Graph

302 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
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
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
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
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
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
2383f18a82 FpDebug: Move getting FrameBase to Context. 2024-05-22 22:53:05 +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
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
63881011b3 Use byte offset to locate data to be replaced in MaskBreakpointsInReadData. 2024-04-13 22:58:49 +00: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
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
b471a2961e FpDebug: fix memleak when detaching from process. 2024-03-02 18:38:17 +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
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
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
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
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
ccrause
3ecbb52069 Updated MemModel structure. 2024-01-14 19:29:12 +01: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
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
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
8da9f2d084 FpDebug: fix for some missing stackframes 2023-10-05 19:22:31 +02:00
Martin
044ee4f0bc LazDebuggerFp: load line info (blue dots) for libraries 2023-05-27 13:19:33 +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
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
db27ef882d FpDebug: clean up compile hints 2023-03-12 22:34:28 +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
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