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