Commit Graph

1244 Commits

Author SHA1 Message Date
Martin
0a13765ec4 FpDebug: Fix setting breakpoint for deLoadLibrary detection. Move to correct thread. 2023-02-16 18:21:51 +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
Martin
5d091f5d5b FpDebug: Refactor breakpoints, move unit+line (or proc-name) to DpDebug. Change default scope to search all already loaded libraries. 2023-02-16 16:39:02 +01:00
Martin
b752e5b684 FpDebug: refactor GetLineAddresses and FindProcSymbol - Always go through TDbgProcess 2023-02-16 14:49:29 +01:00
Martin
57da4cd7fd FpDebug: allow calling functions from function-pointer variables. (Not yet method variables) 2023-02-12 21:30:15 +01:00
Martin
9569f7beff FpDebug: Added DW_AT_vtable_elem_location 2023-02-12 20:43:03 +01:00
Martin
f86112c649 FpDebug: Added support for DW_AT_entry_pc. Implemented <func>.EntryPCAddress to return the entry-point. 2023-02-12 18:50:28 +01:00
Martin
766684e0f6 FpDebug: Added error checking. Ensure pointer to information-entry points to an existing entry. 2023-02-06 10:56:56 +01:00
Martin
dd5d291621 FpDebug: Fix watching local/param with name "this". Variables with "this" as name were hidden by the "self" param (that fpc encodes as "this") 2023-02-04 13:24:56 +01:00
Martin
60d221f23a FpDebug: Show "self" in locals window. Fpc encodes it as "this", so FpDebug must replace the name. Issue #39907 and part of issue #40000 2023-02-04 13:00:19 +01:00
Martin
e3a3d33c99 FpDebug: Windows (10 up), use WaitForDebugEventEx to support Utf16 OutputDebugStringW 2023-02-04 08:52:29 +01:00
Maxim Ganetsky
1652b4acf1 Translations: Turkish translation update by Onur ERÇELEN, issue #40106 2023-02-02 23:52:31 +03:00
Martin
448bb20ba6 FpDebug: Refactor TBreakLocationMap, so that "OrigValue" is no longer exposed. Move some functionality from TProcess to TBreakLocationMap. 2023-01-25 20:54:59 +01:00
Martin
ad9a460928 FpDebug, Linux: Improve stepping over breakpoint.
When the signal for a newly launched thread was received while the single-step was still in progress, then "RestoreTempBreakInstructionCodes" failed (as the thread was still running), and the breakpoint (int3) ended up missing (no longer stopping at the breakpoint).
2023-01-24 18:03:16 +01:00
Martin
d99e76636d FpDebug: fix storing "step info" (symbol/line at PC) 2023-01-09 16:46:53 +01:00
Martin
c59f34e9ba FpDebug: fixed spelling / thanks to ccrause 2023-01-08 19:33:20 +01:00
ccrause
171be791ea [RSP] Do not acknowledge an OK response, since qemu complains about receiving an acknowledge after an OK response. It is not clear whether this is in accordance with the RSP protocol specification. 2023-01-08 17:05:04 +01:00
ccrause
1bad121570 [RSP] Removed unused variables. 2023-01-08 17:05:03 +01:00
ccrause
411eebba23 [RSP] Add HWBreak parameter to Add/DeleteBreakWatchPoint method so that TProcess can decide whether a HW or SW break should be inserted on the target. 2023-01-08 17:05:02 +01:00
ccrause
06c4f184d7 [RSP] Bug fix: add the register value to the command to be sent over RSP. Rename ConvertHexWithLittleEndianSwap to HexToIntLittleEndian as this is closer to the regular HexToInt function. Add IntToHexLittleEndian function. 2023-01-08 17:05:01 +01:00
ccrause
b58c6a5dcb Add call saved registers for AVR to InitializeABIRules. 2023-01-08 17:04:59 +01:00
ccrause
b787b45f59 Specify CIE address size for AVR8 architecture. 2023-01-08 17:04:58 +01:00
Martin
cc31d7752a FpDebug: fix watching fields in "old style" objects 2022-12-07 01:44:51 +01:00
Martin
d8f2ce5a1f FpDebug: fix mem leak 2022-12-06 00:15:35 +01:00
Martin
cdafe7d9a3 FpDebug: make "^char" display string-like, like PChar. 2022-12-06 00:15:35 +01:00
Martin
55f314c9ac FpDebug: Fix subtraction for some pointers / Fix type-info for @char, so minus considers them compatible. 2022-12-06 00:15:34 +01:00
Martin
4c879cc73c FpDebug: Fix disassembler operand size for $a3 "move [...], reg" 2022-12-02 03:19:38 +01:00
Martin
143aaab00f FpDebug: WatchResultData, more error checks 2022-12-02 01:01:33 +01:00
Martin
bcb511f8c1 FpDebug: fix parsing linemap, after commit 5e1326dab3 2022-11-22 16:29:09 +01:00
mattias
5e1326dab3 fpdebug: fixed crash 2022-11-22 02:36:49 +01:00
mattias
6671244b72 updated makefiles, fixed compile fpdebug with fpc 3.2.2 2022-11-13 13:23:46 +01:00
Martin
8ef10902f3 FpDebug: Stack, CFI - For older FPC (broken CFI) always continue non-CFI eval. 2022-10-27 15:42:59 +02:00
Martin
9e813a6a78 FpDebug: Watch-Function-Eval, support QWord parameters on 32 bit targets 2022-09-25 19:49:42 +02:00
Martin
78caaf4fc2 FpDebug: Dwarfviewer, do not parse after unknown OP. 2022-09-23 20:29:17 +02:00
Martin
3ebada48d3 FpDebug: Allow more params passed to function in watch-function-eval 2022-09-23 20:28:20 +02:00
Martin
753799d887 FpDebug: add intrinsics "Pos(SubStr, SearchStr)" and "SubStr(Str, Start, Len, DoPtr) 2022-09-18 23:48:59 +02:00
Martin
4bdc8f2702 FpDebug: add intrinsic "RefCnt()" => RefCount for AnsiString/LongString (Dwarf-3) and dyn array. 2022-09-18 23:48:59 +02:00
Martin
4910e764bb FpDebug: Improve PChar handling in pointer math. 2022-09-18 23:48:59 +02:00
Martin
41c9abc8a5 FpDebug: fix typo 2022-09-16 19:55:14 +02:00
zeljan1
78b42debff Revert "Merge branch 'main' of https://gitlab.com/freepascal.org/lazarus/lazarus into main"
This reverts commit 9c4ae10819, reversing
changes made to 0e040a0d77.
2022-09-16 18:00:17 +02:00
Martin
8e038f924e FpDebug: fix typo 2022-09-14 18:40:17 +02:00
Martin
313a112a65 FpDebug: fix type 2022-09-14 16:38:04 +02:00
Martin
ffaa538517 Debugger: increase safety net for max stack frames 2022-09-14 16:38:04 +02:00
Martin
45b69e8d9d Debugger: Allow to suspend/resume individual threads / only with FpDebug, only while paused - for the next run/step. 2022-09-11 03:28:53 +02:00
Martin
712b3e161d FpDebug: Fixes for watch-function-eval: allow function to ignore breakpoints set by the user. 2022-09-10 21:36:09 +02:00
Martin
db69b34e2a FpDebug: Fixes for watch-function-eval: allow function to recursively enter itself. 2022-09-10 18:01:36 +02:00
Martin
0bdae9fa28 FpDebug: fix crash in stack after "watch eval" call. Don't clear stack data. 2022-09-09 22:56:08 +02:00
Martin
126dd815cd FpDebug: fix range check error in stack 2022-09-09 22:54:06 +02:00
Martin
099f690aea FpDebug: Fix parsing &Identifer in watches 2022-09-09 13:04:36 +02:00
Martin
659d6aec30 Debugger: changed default intrinsic prefic to ":" / require bracket if no prefix 2022-09-09 12:24:47 +02:00