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
Martin
6126d94aaf
FpDebug: add intrinsic "CC()" => ChildClass for dynamic casting to instance class
2022-09-08 22:53:52 +02:00
Martin
7e6a705caf
FpDebug: Fix array (element len), issue introduced in 116b22ed72
"Introduce "Intrinsics functions" for watches."
2022-09-07 20:08:42 +02:00
Martin
116b22ed72
FpDebug: Introduce "Intrinsics functions" for watches. Add "length()" for string (dwarf-3) and array
2022-09-07 04:36:34 +02:00
Martin
f58a7bde79
LazDebuggerFp: add %register syntax for watches
2022-09-07 04:36:34 +02:00
Martin
b3cae05fee
FpDebug: fix restoring registers (e.g. after function eval)
2022-09-07 04:36:33 +02:00
Martin
ae209a52a4
FpDebug: fix callstack eval, after CFI ended.
2022-09-06 13:59:01 +02:00
Martin
528dc04f52
FpDebug: Fix compilation of dwarfviewer.
2022-09-04 10:52:57 +02:00
Martin
a0b19ffcf9
FpDebug: Fix Mac-ImageReader. Deal with Symbols of type N_PEXT. And fix, for entries where N_SECT is encountered before N_GSYM. Issue #39696
2022-09-04 10:52:57 +02:00
Martin
1c5a6ca5d7
FpDebugger: fix value-converters crash in array. Arrays elements must have a static type, and must not depend on the instance.
2022-08-23 16:08:21 +02:00
ccrause
4c3d53137f
Only break out of search loop if current Result contains the sfHasLine flag.
2022-08-08 09:25:20 +02:00
Martin
795b94703f
FpDebug: missing result initialization
2022-08-07 23:19:17 +02:00
Martin
f3bf79fa35
Debugger: fix calling abstract method "BelongsToInstance" on watchpoint. Introduced 4e4c402b62
2022-08-05 17:33:28 +02:00
Martin
dd22337fc3
FpDebug: fix accessing nil pointer
2022-08-05 17:33:28 +02:00
Martin
1c87d53199
Debugger: implement reading class.unitname from RTTI
2022-08-05 02:45:01 +02:00
Martin
8749ca4f20
FpDebug: fix address for interfaces
2022-08-05 02:44:29 +02:00
Martin
2f4e270270
FpDebug: Windows, rewrite of "step after hitting breakpoint". Fix issues with incorrect steps (Instr-Ptr not reset) in multi thread scenario, when the int3 had been remove in the meantime.
2022-08-02 15:20:50 +02:00
Martin
48043da966
Debugger: Converter, match "*" and inheritance via "is:"
2022-08-01 18:41:17 +02:00
Martin
de03939782
LazDebuggerFp: Converter JsonForDebug
2022-07-27 01:17:36 +02:00
Martin
099c102565
FpDebug, LazDebuggerFp: more string support for function-eval / support string literals as param
2022-07-27 01:17:36 +02:00
Martin
f3476e5274
FpDebug: Callcontext, rename TFpValueCallParamStringByRef to TFpSymbolCallParamOrdinalOrPointer
2022-07-27 01:17:36 +02:00
Martin
8a0a21a7bc
LazDebuggFp,FpDebug: fix racing conditions
...
- while TDbgController.SendEvents runs in the main thread, the work-thread may run TDbgControllerCallRoutineCmd
- TDbgControllerCallRoutineCmd may run, while the main thread attempts to set the next command
- CallStack code was from before the WorkQueue was introduced. It needs a different approach. (without attempting to start a new worker)
2022-07-27 01:17:35 +02:00
martin
2fce58a3de
FpDebug: support DW_TAG_variant_part
2022-07-13 21:19:35 +02:00
Martin
d0d616e131
FpDebug: keep CurrentContext during function-eval calls. (access by other threads)
2022-07-13 10:27:47 +02:00
Martin
77857b84ce
FpDebug: improve dyn array detection
2022-07-13 10:27:47 +02:00
Joost van der Sluis
a680001c2e
FpDebug: Workaround in fpmake.pp for usage with fpc 3.2.2
2022-07-10 12:54:03 +02:00
Joost van der Sluis
7e67d9b871
FpDebug: fpmake.pp updated
2022-07-10 12:46:13 +02:00
Joost van der Sluis
a7d0a6e0b2
FpDebug: Keep register-names in stacktrace
2022-07-03 18:44:12 +02:00
Martin
6243770298
LazDebuggerFp: reduced default limit for max array members returned. Arrays can now be paged. (and RecurseCnt can override it) / removed hardcode 1000 limit.
2022-07-03 01:54:28 +02:00
Martin
248732defe
debugln
2022-07-02 01:57:49 +02:00
Joost van der Sluis
dee6e4a482
FpDebug: Duplicate code removed
2022-07-02 00:48:42 +02:00
Joost van der Sluis
4ed7f56bb4
FpDebug: Handle CIEs and FDEs without instructions properly
2022-07-02 00:31:15 +02:00
Martin
3c322a009f
FpDebug: Win, improved logging for errors
2022-07-01 01:06:08 +02:00
Martin
9e67808d84
LazDebuggerFp: improve errors for function calling
2022-07-01 01:06:08 +02:00
Martin
dcf2a00767
FpDebug: use Wow64SuspendThread for cross debugging.
2022-06-30 13:00:45 +02:00
Martin
4c6633754c
FpDebug: fix empty array (nil) access from changes in 62145cd833
, "Use Dwarf Call Frame Information (CFI) for stack-tracing when available.
2022-06-30 12:05:22 +02:00
Martin
ae2ca525ca
FpDebug: Win, Clear Exception after function-eval-call failed (with SigSegV)
2022-06-30 02:46:01 +02:00
Martin
0429c822c1
LazDebuggerFp: debugln for function calling (watch-eval)
2022-06-30 02:30:15 +02:00
Martin
9fb4edfbe5
FpDebug: PascalParser, fixed unary minus after comma.
2022-06-30 02:30:14 +02:00
Martin
1d0daee376
FpDebug: fix setting negative value to Register for 32bit target.
2022-06-30 02:20:53 +02:00
Martin
f4f7cca11d
FpDebug: fix reading range checks on Linux
2022-06-29 19:42:18 +02:00
Martin
bdb719b82a
FpDebug: fix reading large dwarf info on 32bit Linux
2022-06-29 18:52:32 +02:00
Martin
2d7b1138f4
FpDebug: allow function calls on Linux-32bit
2022-06-29 17:42:08 +02:00
Martin
649e4600ef
FpDebug: fix range check error from changes in 62145cd833
, "Use Dwarf Call Frame Information (CFI) for stack-tracing when available.
2022-06-29 16:26:22 +02:00
Joost van der Sluis
07cba653fa
FpDebug: Avoid crash on invalid CFI-information
2022-06-29 10:02:56 +02:00
Joost van der Sluis
62145cd833
FpDebug: Use Dwarf Call Frame Information (CFI) for stack-tracing when available. Refactored some stuff to be able to place it in a separate unit.
2022-06-28 23:09:34 +02:00
Pascal Riekenberg
2bc0a9b371
Debugger: added support for TThread.NameThreadForDebugging
2022-06-28 07:35:40 +02:00
Martin
1c008e121d
Debugger: improve SysVarToLStr - convert fields of structures too / array in Inspector
2022-06-27 22:34:08 +02:00
Martin
131d1062df
Debugger: allow calling SysVarToLStr for variants (via user defined type-names)
2022-06-23 13:54:18 +02:00
Martin
943ebed455
LazDebuggerFp, FpDebug: Fix mem leak in watch-eval calling functions.
2022-06-21 20:08:47 +02:00
Martin
f606986f1b
LazDebuggerFp, FpDebug: Enable watch-eval calling functions with records as param (Win-64/32 / Linux-64)
2022-06-21 00:29:07 +02:00
Martin
b014798858
LazDebuggerFp, FpDebug: Enable watch-eval calling function with strings as param/result (only DWARF 3 / up)
2022-06-21 00:29:07 +02:00
Martin
63a6ce4f32
FpDebug: added IFDEF $INLINE OFF
2022-06-21 00:06:04 +02:00
Martin
ae8bbb1cd6
FpDebug: Refactor TFpDbgInfoCallContext (add "AddParam" / remove Dbg-Process from "CreateParamSymbol")
2022-06-21 00:06:04 +02:00
Martin
bba0a43742
FpDebug: Refactor TFpSymbolDwarfFunctionResult, don't reload data from info-entry - use existing type
2022-06-21 00:06:03 +02:00
Martin
4d3a8af105
FpDebug: Fix uninitialized result in watch-to-intf
2022-06-18 18:08:08 +02:00
Marc
1966405611
FpDebug: Initialize mask register
2022-06-15 22:52:56 +02:00
Martin
e2f50ee30d
FpDebug: fixed memory leak in FindExportedSymbolInUnit
2022-06-13 22:05:22 +02:00
Martin
90453ce72b
Debugger: Inspect-Win, implement paging for large arrays
2022-06-12 22:14:12 +02:00
Martin
0b051af509
IDE, FpDebug: evaluate more sub-items for Inspect Dialog.
2022-06-12 22:14:12 +02:00
Martin
f65d3b93ee
Debugger: FpDebug, LazDebuggerIntf, Inspect-Win, basic distinction for proc/func/ref types.
2022-06-12 22:14:12 +02:00
Marc
d942d2ec7f
Revert "FpDebug: Handle exceptions in disassembler", since the disassember doesn't generate exceptions anymore
...
This reverts commit 96271ad5c6
.
2022-06-12 18:09:20 +02:00
Marc
9c4acef131
FpDebug: Fix check in groupP and change exceptions into asserts
2022-06-12 18:06:07 +02:00
Martin
41cb28febf
FpDebug: fix crash on nil object
2022-06-12 11:43:05 +02:00