Commit Graph

1540 Commits

Author SHA1 Message Date
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
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
Martin
96271ad5c6 FpDebug: Handle exceptions in disassembler 2022-06-10 15:41:58 +02:00
Martin
f2cbe3d582 FpDebug: PascalParser fix nil object access. 2022-06-09 17:46:25 +02:00
Martin
b0de3bcc01 FpDebug: Use PrettyPrinter and rdkPrePrinted for (nested) not-yet-implemented types (LazDebuggerIntf) 2022-06-09 17:46:24 +02:00
Martin
e7b23f98d0 LazDebuggerIntf, FpDebug: add array and structure types 2022-06-09 17:46:23 +02:00
Martin
e3d41a28e0 FpDebug: Provide access to internal nested type info 2022-06-09 17:46:23 +02:00
Martin
01a6b1dd5f DebuggerIntf, FpDebug: add boolean 2022-06-06 21:08:57 +02:00
Martin
19e0cbf641 DebuggerIntf, FpDebug: add char/widechar 2022-06-06 20:54:36 +02:00
Marc
16321fbd3e FpDebug: Fix range error 2022-05-31 21:47:04 +02:00
Marc
3052c2b048 FpDebug: Add AVX512 extensions of exiting instructions 2022-05-30 22:56:04 +02:00
Marc
86871bc4a7 FpDebug: Clear SIMD flags by default 2022-05-30 22:56:03 +02:00
Marc
fbda5d361c FpDebug: Add load/save option to asmtest 2022-05-30 22:56:02 +02:00
Marc
1e7b32ab20 FpDebug: Split register type enum into register family and operand size as register size 2022-05-30 22:56:02 +02:00
Marc
5d21207723 FpDebug: Replace opcode set with all (new) opcodes 2022-05-30 22:56:01 +02:00
mattias
3140a3db66 fpdebug: added mips and misel 2022-05-29 20:09:45 +02:00
mattias
9e762cde89 udpated makefiles 2022-05-29 19:34:19 +02:00
Martin
fba36b9318 FpDebug: More fixes for "Solved AV in StateMachineValid" 239b2be664 / crash in asm window 2022-05-16 23:10:15 +02:00
Martin
0426064e8f LazDebuggerIntf, FpDebug: add enum/sets 2022-05-16 23:10:14 +02:00
Martin
f190c1ff0b FpDebug: remove empty code 2022-05-16 23:10:14 +02:00
Martin
3ea0e03d3b FpDebug: Improve char/widechar from expression/const - implement size and ord-value 2022-05-16 23:10:14 +02:00
Martin
2991d62a16 FpDebug: refactor wait for comp-unit. (check address before enter WaitForScopeScan) 2022-05-16 17:03:05 +02:00
Martin
8baaf99684 FpDebug: Improve fix for dangling pointer to FScanAllWorker.FScanScopeList. 2022-05-16 17:03:05 +02:00
Joost van der Sluis
be75a9d85e FpDebug: Fixed mistake in attempt to solve AV in StateMachineValid 2022-05-13 22:50:52 +02:00
Joost van der Sluis
239b2be664 FpDebug: Solved AV in StateMachineValid 2022-05-13 20:27:54 +02:00
Martin
7d9af9a857 FpDebug: disable warning "case not covering all values" 2022-05-12 21:19:34 +02:00
Martin
ef032fca2d FpDebug: provide trace debugln for errors in worker threads 2022-05-12 21:19:34 +02:00
Martin
315bb059d8 FpDebug: fix overflow in stack eval 2022-05-09 23:48:30 +02:00
Martin
915fbfa830 FpDebug: Workaround for dangling pointer to FScanAllWorker.FScanScopeList (in FCompUnitScope.FScopeListPtr), set by FScanScopeList.BuildList. 2022-05-09 01:22:32 +02:00
martin
5a01f79d1c FpDebug: Find line info when dwarf subprogram-tag is missing. Use line info with linker info. This fixes stepping into old-style "TFoo = object ... end" 2022-05-05 02:46:33 +02:00
Joost van der Sluis
abad276cd4 FpDebug: Fixed 'Unable to open file SYSV00000000' exceptions 2022-05-01 23:08:45 +02:00
Martin
94ae766164 FpDebug: PascalParser, allow $ sign in identifiers. Required for mangled classnames / specialized generics ... 2022-04-22 12:04:46 +02:00
Martin
ca8c6a84e2 FpDebug: Fix PascalParser.ResetEvaluation 2022-04-22 12:04:46 +02:00
Joost van der Sluis
09d676c6ba FpDebug: Ability to request a strings codepage 2022-03-26 20:13:00 +01:00
Martin
76d9771c34 Debugger: More LazDebuggerIntf. Add/Improve numeric, pointer, float and string watches 2022-03-24 00:39:04 +01:00
Martin
1ba6c2f11a FpDebug: Fix for FpGdbmi (Windows). FpGdbmi does not knew the LoadedAddr, replace the nil value with the default ImageBase. 2022-03-24 00:39:03 +01:00
Martin
4f8efdd21f FpDebug: fix warnings. 2022-03-24 00:39:03 +01:00
Martin
22ef2d781f FpDebug: optimization 2022-03-24 00:39:02 +01:00
Martin
c7e123fd8d FpDebug: Fix stack-overflow for types with recursive declaration. 2022-03-24 00:39:02 +01:00
Martin
624696270b FpDebug: Fix QuoteWideText => wrong result len 2022-03-04 00:47:32 +01:00
Martin
625e655423 FpDebug: fix Memleak. Introduced in "PascalPrinter, Automatically deref pointers to string types. Issue #39559" / a400e1f8c7 2022-03-04 00:37:27 +01:00
Martin
95a5c05edc FpDebug: Do not process data, after MemRead failed. 2022-03-03 00:46:11 +01:00
Martin
27f4c50dbd FpDebug: Fix RangeCheck, TByteArray has an upper limit of 32k. 2022-03-03 00:46:11 +01:00
Martin
a400e1f8c7 FpDebug: PascalPrinter, Automatically deref pointers to string types. Issue #39559 2022-02-26 04:01:32 +01:00
Martin
0e6769ac99 FpDebug, LazDebuggerFp: Implement tracking modified CPU registers (top stack-frame only) 2022-02-25 20:25:01 +01:00
mattias
26c9421318 updated Makefiles 2022-02-24 12:55:45 +01:00
Martin
8335731953 FpDebug: Fixed uninitialized variables. 2022-02-22 01:01:40 +01:00
Marc
9ba59b2dfc FpDebug: Refactor TX86AsmDecoder.DoDisassemble into separate TX86Disassembler object 2022-02-20 16:49:46 +01:00
Marc
81f2319e01 FpDebug: Prepare SMID decoding for (E)VEX extensions 2022-02-17 23:53:43 +01:00
Marc
4e6bf84be4 FpDebug: Fix typo in cvttss2si, cvttsd2si, cvtss2si & cvtsd2si instruction 2022-02-17 23:53:43 +01:00
Martin
2333696004 FpDebug: Ensure internal breakpoint is freed, if cmd is finished. Add asserts 2022-02-10 23:30:23 +01:00
Martin
6993390bab FpDebug: Improve Stack after calling TProc(nil) / Call to code not in apps memory 2022-02-09 19:30:40 +01:00
Martin
b6be0ae622 FpDebug: Improve Stack after calling TProc(nil) / Call to code not in apps memory 2022-02-09 15:39:26 +01:00
Marc
11992ed7d7 FpDebug: Fix decoding of extended general purpose registers 2022-02-06 17:52:20 +01:00
Marc
402360049e FpDebug: Fix compilation of asmtest 2022-02-06 17:50:10 +01:00
Martin
2e8783e5e0 FpDebug: fix uninitialized return value 2022-02-01 17:18:19 +01:00
Martin
4482e0ddb8 FpDebug: add {$else} for targets not matched by any of the ifdef 2022-01-26 12:58:31 +01:00
Martin
220c850843 FpDebug: Windows, Fix addresses for non-Dwarf symbols. TFpSymbolInfo does not use the RelocationOffset, so addresses will be directly mapped to their loaded location. 2022-01-16 16:20:28 +01:00
Martin
0e5ea13b8a FpDebug: Add {$IFDEF TEST_FPDEBUG_SINGLE_THREAD} so the code can be run single-threaded. 2022-01-10 14:08:38 +01:00
Martin
d1ac568e96 Debugger: New package LazDebuggerIntf / Replace TWatchValue with TWatchValueIntf 2022-01-10 14:08:37 +01:00
Joost van der Sluis
c8feb2d0e8 FpDebug: Replaced some Pascalish code to perform pointer calculations without range-overflows with code with range-checking disabled 2022-01-02 00:38:52 +01:00
Joost van der Sluis
a05f75154d * FpDebug: Fix for handling processes that do not provide a real file-handle. 2022-01-01 17:29:43 +01:00
Joost van der Sluis
7750772722 FpDebug: Fix for handling libraries that do not provide a real file-handle. 2021-12-30 20:36:04 +01:00
ccrause
218ea083c3 DW_LINE_set_address and target address read operations should respect the target address size. 2021-12-29 14:52:02 +02:00
Joost van der Sluis
4e4c402b62 FpDebug: Remove breakpoints bound to a specific library when this library gets unloaded 2021-12-23 00:32:41 +01:00
Joost van der Sluis
e0c4d9c77b FpDebug: cleanup and explanation of the difference between the ImageBase, RelocationOffset and LoadedTargetImageAddr 2021-12-16 00:35:18 +01:00
Joost van der Sluis
8205a04199 FpDebug: On Windows the RelocationOffset can only be calculated after the file-header has been read. So the whole logic to obtain the RelocationOffset out of the LoadedTargetImageAddr and ImageBase is refactored 2021-12-15 01:21:10 +01:00
Maxim Ganetsky
e71c784ab0 Translations: Brazilian Portuguese translation update by Marcelo B Paula, issue #39516 2021-12-15 02:21:23 +03:00
Joost van der Sluis
190a7267c4 FpDebug: Fixed compilation on Windows 2021-12-14 10:35:59 +01:00
Joost van der Sluis
70d007f0de FpDebug: Differentiate between the BaseAddr and the RelocationOffset 2021-12-13 23:18:10 +01:00
Martin
842abf97c1 FpDebug: Remove some asserts that were to strict. The check is done in ReadThreadState. If that has already been done, the functions do not need the requirement. 2021-12-12 21:00:28 +01:00
Martin
85c71832e3 FpDebug: Win64 SEH finally sub-routines, show correct line for resolved symbol 2021-12-12 21:00:27 +01:00
Martin
a1c6e559e1 LazDebuggerFp: Cleanup compiler hints 2021-12-12 21:00:27 +01:00
Martin
a4b23e0b2a FpDebug: PascalParser, Fix parsing float on localized PC. 2021-12-12 21:00:21 +01:00
Joost van der Sluis
2a51f03e2b FpDebug fixed calculation of addresses, got broken in commit 5ff2a7d17c 2021-12-11 13:38:30 +01:00
Maxim Ganetsky
b2c460ee34 FpDebug: updated Russian translation 2021-12-11 01:23:43 +03:00
Joost van der Sluis
5ff2a7d17c FpDebug: Calculate the relocated addresses of libraries 2021-12-10 20:17:46 +01:00
Joost van der Sluis
124083f794 FpDebug: Do not crash on unrecognized binary-formats 2021-12-10 17:57:07 +01:00
Joost van der Sluis
1dbef448b0 FpDebug: Removed spaces at start of the line in error-messages. 2021-12-10 17:31:33 +01:00
Martin
5c22ff5ad2 FpDebug: Fix stepping does not stop at next line (seen on Win7 only / Maybe issue #39383).
When checking if a step-in/over returned from going over a called proc (using the hidden-break), do not trust the BasePointer.
2021-12-10 00:29:26 +01:00
Martin
343eb4e47c FpDebug: PascalParser, fixed parsing float. In Pascal the comma is a list-separator. It can not be decimal-point. So using the locale "DecimalSeparor" will get wrong results. 2021-12-09 18:17:57 +01:00
Martin
e618b09804 LazDebuggerFp: Fix Stepping and threads / Ensure loop exits with correct EventType 2021-12-09 18:17:56 +01:00
Maxim Ganetsky
b291a31f11 FPDebug: fixed compilation on Windows 2021-12-09 01:38:49 +03:00
Joost van der Sluis
e9f1ffb855 FpDebug: Load libraries on Linux, and skip incompatible binaries. Also on Windows, for consistency and stability 2021-12-08 22:18:04 +01:00
Joost van der Sluis
b9b35b4252 FpDebug: Set the TDbgImageReader.LoadedTargetImageAddr at creation, or else parts might already been read when it is set. 2021-12-08 00:43:17 +01:00
Joost van der Sluis
de0974f29e FpDebug: Removed TDbgInstance.AddrOffset and other old attempts to relocate libraries properly 2021-12-08 00:43:17 +01:00
Joost van der Sluis
f073c52428 FpDebug: Search for line-information not only within the executable, but also in the loaded libraries 2021-12-07 23:31:41 +01:00
Martin
9877946d86 FpDebug: reduced debugln 2021-12-07 23:21:42 +01:00
Martin
499026c519 FpDebug: Win64 SEH finally sub-routines, find the symbol for the procedure actually owning the finally block 2021-12-07 22:56:11 +01:00
Martin
df98551a5f FpDebug: Implement finding "address for line" before/after the requested line, if there is no entry for the request. 2021-12-07 20:35:49 +01:00
Martin
7534833eb6 FpDebug: Fixed passing dangling pointer. (Currently not used by LazDebuggerFp when doing deExitProcess) 2021-12-07 15:41:58 +01:00
Martin
07e3817870 FpDebug: fix mem leak. Libraries were not freed on Unload. 2021-12-06 00:40:25 +01:00
Martin
7e06003d9d FpDebug: Fix race condition. After FQueue.RemoveThread(Self) the Queue (if waiting in TerminateAllThreads) can destroy itself. So it must no longer be accessed. 2021-12-05 22:44:04 +01:00
Martin
b3e07ba2b5 FpDebug: fix for logging 2021-12-05 22:44:04 +01:00
Joost van der Sluis
957f76456c FpDebug: Detect Dwarf-5 debug headers and skip unsupported sections 2021-12-05 18:26:09 +01:00
Joost van der Sluis
bc4718efae FpDebug: Ability to pass multiple libraries to OnLibrary(Un)LoadedEvent and detection of loading of libraries on Linux 2021-12-05 01:46:45 +01:00
Martin
d8188bb780 FpDebug: Show "class var" if in current context (no class/instance-name prefix). 2021-12-01 19:55:39 +01:00
Martin
a365f46170 FpDebug/FPD: Add FpDbgDwarfFreePascal - This activates the FPC specific dwarf interpretation. 2021-11-28 10:53:43 +01:00
Martin
b03c9ccbb7 Merge branch 'fpd1' into 'main'
Fix compilation of fpdebug\app\fpd

See merge request freepascal.org/lazarus/lazarus!49
2021-11-28 10:49:11 +01:00
Maxim Ganetsky
738e48c6b7 Translations: French translation update by Gilles Vasseur, issue #39487 2021-11-26 03:47:29 +03:00
Martin
ad58ebedf8 FpDebug, CmdLineDebuggerBase: Remove "design time".... / Add missing changes in packagefile 2021-11-25 21:01:06 +01:00
Martin
fcd147a0bf FpDebug, CmdLineDebuggerBase, LazDebugTestBase: Remove "design time", those are run-time packages (they are for use in the IDE, be serving as base classes to other design time packages. But they should not be listed for installation into the IDE on their own. 2021-11-25 12:54:25 +01:00
ccrause
1e0b55da03 Move management of GController instance to TFDLoop.Inititialize and Destroy. 2021-11-21 10:26:10 +02:00
ccrause
7ae19d4eac Add cthreads if compiled for unix by Fredvs 2021-11-21 10:25:55 +02:00
Martin
9213ca32e8 FpDebug: Fixed MemLeak on Windows: TProcessUtf8 was not freed / introduced in e104c4c418 - merge-request !41 2021-11-20 13:02:22 +01:00
Martin
f49b54bae5 FpDebug: add a few missing "const" for params 2021-11-14 15:36:41 +01:00
Martin
eac49ae44f FpDebug: Fix DW_OP_reg0..31 should return the register-location, not the value in the register (except for DW_AT_frame_base). See note_732607024 in merge-request !28 2021-11-14 11:31:56 +01:00
Martin
0a7f1b1da9 FpDebug: Dwarf location-parser, allow to deref a register-location. See merge-request !28 2021-11-14 09:13:55 +01:00
Martin
9c5208b665 FpDebug: compilation fixes for Mac 2021-11-09 16:34:59 +01:00
Martin
95b4cf9043 FpDebug: compilation fixes for Mac 2021-11-08 15:09:01 +01:00
Martin
89cc21355f FpDebug: fixed visibility warning for InitLoaders 2021-11-08 14:59:14 +01:00
Martin
32aaa9b127 FpDebug: Fix default value / fix test 2021-11-07 15:32:43 +01:00
ccrause
c219bac7dc Fix initialization of TDbgLinuxProcess.AttachToInstance. 2021-11-07 15:20:23 +02:00
ccrause
7e5b510a4e Update StartInstance and AttachInstance method signatures of TDbgWinProcess. 2021-11-06 16:17:58 +02:00
ccrause
dc38deaaa5 Fix signature of inherited call in TAvrProcess.Create. 2021-11-06 14:23:32 +01:00
ccrause
4055d9420b Consolidated parameters for TDbgProcess.Create, StartInstance and AttachToInstance. 2021-11-06 14:23:31 +01:00
ccrause
923fce0cb0 Change StartInstance and AttachInstance to normal methods. TDbgController now calls OSDbgClasses.DbgProcessClass to create a process class instance with a TDbgProcessConfig parameter which can be subclassed and passed around for configuration. The remote configuration is now passed via this parameter as a subclass. 2021-11-06 14:23:28 +01:00
Martin
3b2e56528b Merge branch 'fpdebug-AVR-2021-11-05' into 'main'
Fpdebug: Update AVR support (continuing from !36)

See merge request freepascal.org/lazarus/lazarus!40
2021-11-06 09:01:24 +00:00
ccrause
9f02cfbf72 Remove write access to LoaderList property. 2021-11-05 21:43:44 +02:00
Martin
3b9f8954ba fpDebug: Set Sect.VirtualAddress on Linux / See merge request !36 by ccrause 2021-11-05 17:44:25 +01:00
ccrause
9de2a8dfbc Add a monitor command list to be called after uploading is finished. 2021-11-01 12:20:17 +02:00
ccrause
29cf0ce9d6 TRspConnection.ReadReply to consume all "O" packets until a valid other packet is received. Fixes issue when status query after monitor command resulted in a qemu gdbserver state error as a result of incorrect acknowledge packets. 2021-11-01 12:15:32 +02:00
ccrause
11682281de Fix up naming convention of methods. 2021-11-01 12:15:13 +02:00
ccrause
7bd0e9ab2a Remove commented code, fix comment 2021-11-01 12:15:13 +02:00
ccrause
45351f354b Properly handle console output from gdbserver over RSP. Qemu monitor commands can reply with O packets. 2021-11-01 12:15:12 +02:00
ccrause
211a02deb9 Todo reminders for later improvements 2021-11-01 12:15:12 +02:00
ccrause
052a1245a7 Fix AVR watchpoint issue when watchpoint is already declared when program starts, which leads to an invalid watchpoint. AVR usually starts from address 0, so not calling FindSymbolScope when address is 0 causes this problem. 2021-11-01 12:15:06 +02:00
ccrause
afc60cf708 Fix data watchpoints. 2021-11-01 12:14:57 +02:00
ccrause
d19a267b19 Ensure convertHexWithLittleEndianSwap works for any length of text, provided it fits the range of QWord. 2021-11-01 12:14:57 +02:00
ccrause
5b824b677c If PauseRequested is true, then both SIGINT and SIGTRAP should be treated as deBreakpoint. 2021-11-01 12:14:57 +02:00
ccrause
1529b34ca7 Change behaviour of WaitForSignal to time out after a short while so that other communication such as Ctrl+C can be transmitted while the target is running. Also distinguish between timeout and socket error. 2021-11-01 12:14:57 +02:00
ccrause
f56b453b29 Remove unused variables. 2021-11-01 12:14:56 +02:00
ccrause
77f10b113f Copy CPU registers in refreshRegisterCache. 2021-11-01 12:14:48 +02:00
ccrause
42fa9a820a Add code to extract "thread" stop reason as sent by qemu. 2021-11-01 12:14:48 +02:00
ccrause
a239cd8952 qemu doesnt support the "p" command to read an individual register. Change logic to update all registers with the "g" command when a single register is invalid. 2021-11-01 12:14:47 +02:00
ccrause
68d50adedf Remove redundant check of FStatus 2021-11-01 12:14:47 +02:00
ccrause
c0f05c8dc6 MAX_CODE_BIN should be at least as big as MaxPrologueSize. 2021-11-01 12:14:47 +02:00
ccrause
50e7383718 Wrap socket Read + Write calls in try except to convert exceptions into a SockErr booleanproperty. 2021-11-01 12:14:47 +02:00
ccrause
e0dea1ca30 Workaround to not automatically create socket connection in constructor. The existing try except block did not catch socket expections in the constructor. 2021-11-01 12:14:46 +02:00
ccrause
4c493303a0 Handle simple interrupt frames. 2021-11-01 12:14:46 +02:00
ccrause
3b36f05e27 Remove FP from register list, since the information is already present in registers r28 and r29 2021-11-01 12:14:46 +02:00
ccrause
c6e6de1294 Fixed checking if AAddress is bracketed by StartPC and EndPC. 2021-11-01 12:14:33 +02:00
ccrause
23065e004c Add functionality to get proc start/end addresses from debug info. Used to scan prologue and epilogue for frame information on AVR target. 2021-11-01 12:13:28 +02:00
ccrause
542c98a369 Use the same register names and dwarf indexes in all register lists. 2021-11-01 12:13:18 +02:00
ccrause
7f341cbe68 Tweak PrepareCallStackEntryList to cater for avr-gcc ABI. Added TAvrAsmDecoder.GetFunctionFrameReturnAddress to scan prologue and epilogue for frame information. 2021-11-01 12:13:17 +02:00
ccrause
02c76188e3 Fix indenting and missing bracket. 2021-11-01 12:13:17 +02:00
ccrause
762081ec6f Fix offset of return PC on stack. Trivial (no locals or parameters) stack trace now works. 2021-11-01 12:13:17 +02:00
ccrause
165c4dae9a Start with AVR call stack analysis 2021-11-01 12:13:17 +02:00
ccrause
c6df32a82c Fix to make debugger stop at breakpoint at address 0. Only single step in TDbgAvrProcess.Continue if SingleStep parameter is true. 2021-11-01 12:13:16 +02:00
ccrause
b27172ff12 Check if reply to monitor command is a plain response, else hex decode the response. 2021-11-01 12:13:16 +02:00
ccrause
9c6de4853a Add properties AfterUploadBreakZero and AfterUploadMonitorReset to test with atbackend.exe. 2021-11-01 12:13:09 +02:00
ccrause
f78d3dd6b8 Use loadable section information to automatically upload sections to target. 2021-11-01 12:12:43 +02:00
ccrause
00d5dd4589 Remove duplicate LoaderList property. 2021-11-01 12:12:21 +02:00
ccrause
5d14d15403 Added functionality to mark sections as loadable based on section information. 2021-11-01 12:11:48 +02:00
ccrause
e524997317 Trying to fix Pause behaviour over RSP: Disable FIsPaused assert in ThreadReadState method. Call WaitForSignal after sending Break request. Call Sleep after waiting for WaitForSignal so that a queued request has time to get processed. 2021-11-01 12:10:45 +02:00
ccrause
160c57451a Fix redundant unit in uses clause. 2021-11-01 12:10:32 +02:00
ccrause
800ee2ac02 Add RSP host, port and upload options. Add property AfterConnectMonitorCmds to execute monitor commands after a connection with target is established. 2021-11-01 12:07:15 +02:00
ccrause
cbff56be77 Moved TXmlConfStringList from gdbmidebugger to DebuggerPropertiesBase to share this property class between gdbmidebugger and fpdebugdebugger. 2021-11-01 12:06:00 +02:00
Martin
57d356a2a2 Merge branch 'fpdebug-breakpoint-removeaddress-fix' into 'main'
FpDebug: Fixed incorrect new length of FLocation array in TFpInternalBreakpoint.RemoveAddress

See merge request freepascal.org/lazarus/lazarus!26
2021-10-21 13:43:43 +00:00
mattias
0354b47bc4 updated makefiles 2021-10-18 14:32:30 +02:00
Sergey Larin
20fc451aa1 FpDebug takes into account that FPC 3.3.1 changed offset of the CodePage field in TAnsiRec.
When reading strings, FpDebug sets the required CodePage to the received AnsiString, the value of which is read from the memory of the process being debugged.
2021-08-27 21:24:07 +03:00
Martin
ad741a8d7a Revert "Disable PEEPHOLE opt in fpc 3.2.0 to fpc 3.2.3 => there is a bug that can cause crashed in fpdebug/lazutils"
This reverts commit 78bb88de35.
2021-10-16 13:41:59 +02:00
Martin
78bb88de35 Disable PEEPHOLE opt in fpc 3.2.0 to fpc 3.2.3 => there is a bug that can cause crashed in fpdebug/lazutils
(cherry picked from commit 6d1185d76b)
2021-10-16 11:45:10 +02:00
Martin
6fc5c2fcdd FpDebug: more asserts for correct thread usage 2021-10-13 21:48:32 +02:00
Martin
0a2bc87781 FpDebug: Fixed mem leak. 2021-09-26 16:02:26 +02:00
Martin
f47220cc47 FpDebug: Add asserts 2021-09-26 02:09:18 +02:00
Maxim Ganetsky
91f499b984 FPDebug: fixed compilation on Windows with FPC trunk, patch by Rika, closes issue #39349 2021-09-02 01:24:53 +03:00
Martin
1c87dc96eb FpDebug: refactor external debug info / Enable for Linux and Windows 2021-08-14 15:23:17 +02:00
martin
e61ab5d73d FpDebug: remove double line break from formatted watches.
git-svn-id: trunk@65488 -
2021-07-22 00:29:26 +00:00
martin
b5bf7de6f9 FpDebug, Windows: Forward OutputDebugString to IDE.
git-svn-id: trunk@65475 -
2021-07-19 18:17:06 +00:00
martin
686e81d6e3 FpDebug: Start external dbg file support for Win
git-svn-id: trunk@65390 -
2021-07-06 21:39:38 +00:00
maxim
0711ae584c Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug #39152
git-svn-id: trunk@65372 -
2021-07-04 21:55:24 +00:00
martin
0244c95a33 FpDebug: Dynamically load DebugBreakProcess
git-svn-id: trunk@65291 -
2021-06-22 15:14:38 +00:00
mattias
91763f2247 set trunk version to 2.3.0
git-svn-id: trunk@65242 -
2021-06-15 14:00:39 +00:00
martin
a9bdfda626 FpDebug: version 1.0
git-svn-id: trunk@65231 -
2021-06-14 17:00:52 +00:00
martin
caa6a14163 FpDebug: "waitable section" / Protect some code from being entered twice
git-svn-id: trunk@65229 -
2021-06-14 08:12:49 +00:00
martin
6661f86edd Debugger: allow to force lazloggerbase via define
git-svn-id: trunk@65227 -
2021-06-14 07:30:45 +00:00
martin
3deb9a41fe FpDebug: Improve target-mem read/write on Linux / Allow bigger writes
git-svn-id: trunk@65225 -
2021-06-14 07:30:37 +00:00
martin
699930263c DwarfViewer: fix compile
git-svn-id: trunk@65224 -
2021-06-14 07:30:35 +00:00
martin
e94b71c589 FpDebug: Allow multiple threads to call TFpThreadWorkerItem.WaitForFinish
git-svn-id: trunk@65187 -
2021-06-08 20:58:38 +00:00
martin
a3a0dd7e08 FpDebug: fix WITH_REFCOUNT_DEBUG for unitname.var
git-svn-id: trunk@65185 -
2021-06-08 19:32:26 +00:00
martin
48701f5d93 FpDebug: Improve encapsulation
git-svn-id: trunk@65183 -
2021-06-08 19:32:22 +00:00
martin
3644f4a2e2 FpDebug: Fix race condition. FScope accesses FScopeList which is changed by thread (dyn array re-alloc by SetLength)
git-svn-id: trunk@65172 -
2021-06-04 01:11:22 +00:00
martin
51ac1efe7a FpDebug: change locking order. Avoid potential dead lock.
git-svn-id: trunk@65171 -
2021-06-04 01:11:20 +00:00
martin
561099dc46 FpDebug: Allow watches with unit prefix: unit1.MyValue
git-svn-id: trunk@65168 -
2021-06-03 16:42:41 +00:00
martin
a1b4044047 FpDebug: Fix mem-leak
git-svn-id: trunk@65167 -
2021-06-03 16:42:38 +00:00
martin
e828efa600 FpDebug: less compile hints
git-svn-id: trunk@65161 -
2021-06-01 13:55:10 +00:00
martin
0473f430ec FpDebug: Less compile warnings
git-svn-id: trunk@65160 -
2021-05-31 14:24:55 +00:00
martin
a822d5c8f7 Reduce duplicate code
git-svn-id: trunk@65159 -
2021-05-31 14:24:53 +00:00
martin
ba0a0bdf67 FpDebug: Improve callback for function calling
git-svn-id: trunk@65156 -
2021-05-30 20:27:26 +00:00
martin
574b3a8178 LazDebuggerFp, FpDebug: Modify watches/values in target
git-svn-id: trunk@65154 -
2021-05-30 19:01:08 +00:00
martin
ce0d1a0bc8 LazDebuggerFp, FpDebug: Beta, Allow function calls in watches
git-svn-id: trunk@65151 -
2021-05-29 22:51:09 +00:00
martin
4d4db524ac FpDebug: evaluate "pointer - pointer" return int (with pointermath)
git-svn-id: trunk@65150 -
2021-05-29 22:51:06 +00:00
martin
5191e4d8a2 FpDebug: Added some safety checks
git-svn-id: trunk@65144 -
2021-05-28 16:19:23 +00:00
maxim
076aee3ac9 LazDebuggerFpGdbmi: i18n-ed menu caption, regenerated translations and updated Russian translation
git-svn-id: trunk@65135 -
2021-05-25 21:42:56 +00:00
joost
fe6e63ed13 FpDebug: Handle signals during function-calls
git-svn-id: trunk@65130 -
2021-05-24 22:15:35 +00:00
joost
c136e832f9 FpDebug: Do not choke on unsupported third-party Dwarf extensions
git-svn-id: trunk@65129 -
2021-05-24 22:06:59 +00:00
martin
b3d254310b FpDebug: Disassemble, fixed multibyte NOP Issue #0038625
git-svn-id: trunk@64992 -
2021-04-14 16:28:37 +00:00
martin
ee40b8f4c1 FpDebug: Disassemble, fixed 64bit register for push/pop Issue #0038626
git-svn-id: trunk@64991 -
2021-04-14 14:34:59 +00:00
martin
776651b5e3 FpDebug, test: DisAssembler testcase
git-svn-id: trunk@64990 -
2021-04-14 14:34:57 +00:00
martin
e75dd9a3a6 FpDebug: fix compilation with -dWITH_REFCOUNT_DEBUG
git-svn-id: trunk@64887 -
2021-03-28 20:26:23 +00:00
martin
82c6e8b284 FpDebug: Change debugging flags on process creation. Allow debugged 32bit processes to launch 64bit sub-processes without the debugger interfering. Sub-processes are anyway currently not debugged. Issue #0038546
git-svn-id: trunk@64779 -
2021-03-10 18:38:39 +00:00
mattias
65e16d03fb fpdebug: less hints
git-svn-id: trunk@64686 -
2021-02-28 08:52:37 +00:00
juha
3f78f0d62d New optimized functions in LazUtils: FilenameExtIs and FilenameExtIn. Used instead of CompareFileExt and similar.
git-svn-id: trunk@64583 -
2021-02-15 08:43:50 +00:00
mattias
62c37ad72a updated Makefiles
git-svn-id: trunk@64567 -
2021-02-13 13:01:14 +00:00
martin
14dc58d892 FpDebug: test and helper apps, fixed some compile errors
git-svn-id: trunk@64555 -
2021-02-12 18:31:09 +00:00
martin
068feeb931 FpDebug: remove MemMgr.DefaultContext. All MemRead/Write must go via a location-context.
git-svn-id: trunk@64554 -
2021-02-12 18:31:07 +00:00
martin
ac0e547a58 FpDebug,AVR: fix communication with gdbserver / thread safety. Patch by Christo Crause Issue #0038443
git-svn-id: trunk@64544 -
2021-02-11 23:18:12 +00:00
martin
6857851554 FpDebug/LazDebugger: add asserts for thread safety
git-svn-id: trunk@64542 -
2021-02-11 22:40:29 +00:00
martin
fa5c3112f3 FpDebug, LazDebuggerFp: call FOnThreadProcessLoopCycleEvent for deProcessExits / Ensure breakpoints are handled in the loop-thread / some breakpoint fixes
git-svn-id: trunk@64538 -
2021-02-11 22:40:21 +00:00
martin
2ae82698cb LazDebuggerFp: move breakpoints to thread worker queue
git-svn-id: trunk@64536 -
2021-02-11 22:40:17 +00:00
martin
54bf4844fc LazDebuggerFp: Improve shutdown of thread queue.
git-svn-id: trunk@64535 -
2021-02-11 22:40:15 +00:00
juha
77e6853ca6 Components: Reduce calls to LowerCase().
git-svn-id: trunk@64515 -
2021-02-10 13:43:15 +00:00
mattias
ba067ea6be fpdebug: fixed compile
git-svn-id: trunk@64508 -
2021-02-08 19:55:41 +00:00
juha
b53ad7ceed Components: Reduce calls to UpperCase() and LowerCase(). Improves performance.
git-svn-id: trunk@64506 -
2021-02-08 19:09:30 +00:00
martin
04eb581af0 FpDebug: fix 32bit elf-imagereader (wrong variable used). Issue #38449 Patch by Christo Crause
git-svn-id: trunk@64501 -
2021-02-08 02:25:10 +00:00
juha
0feb7a5662 Codetools, Debugger: Use a faster compare method for case-insensitive strings and StringLists.
git-svn-id: trunk@64465 -
2021-02-05 11:28:11 +00:00
maxim
b63e036f48 Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug #38436
git-svn-id: trunk@64457 -
2021-02-03 22:42:52 +00:00
martin
71e66e0c64 FpDebug: missing result initialization
git-svn-id: trunk@64400 -
2021-01-16 19:30:10 +00:00
martin
0027bd2412 FpDebug: better shortstring detection / pointer base-size for string/array types
git-svn-id: trunk@64399 -
2021-01-16 19:30:08 +00:00
martin
ba1a82803a FpDebug: add size for function-ref
git-svn-id: trunk@64398 -
2021-01-16 19:30:06 +00:00
martin
fa1a2fa3b0 FpDebug: PascalParser, fixed unary +/- / Added unary for float / tests for float
git-svn-id: trunk@64388 -
2021-01-14 21:14:07 +00:00
martin
3f5954b07e FpDebug: fixed evaluating signed/unsigned mixed AND
git-svn-id: trunk@64387 -
2021-01-14 21:14:05 +00:00
juha
42850cfe4d LazUtils: Deprecate now obsolete unit LazUtf8Classes and remove its references from Lazarus code.
git-svn-id: trunk@64384 -
2021-01-14 12:41:32 +00:00
martin
9ffd47ce9f FpDebug: check for nil, before accessing.
git-svn-id: trunk@64359 -
2021-01-08 23:07:55 +00:00
Sergey Larin
5d7d828c63 FpDebug: Support for the 4th argument when calling the function (Win64)
Related to a32ac8e665
2021-01-07 12:09:04 +03:00
joost
4b59383f64 FpDebug: Removed usage of hard-coded register
git-svn-id: trunk@64310 -
2020-12-30 19:15:57 +00:00
joost
a32ac8e665 FpDebug: support more function-arguments (x86_64)
git-svn-id: trunk@64295 -
2020-12-28 21:33:51 +00:00
joost
cfa42adfc3 FpDebug: Fpmake.pp updated
git-svn-id: trunk@64294 -
2020-12-28 21:27:55 +00:00
maxim
526e453330 FPDebug: fixed typos, regenerated translations and updated Russian translation
git-svn-id: trunk@64259 -
2020-12-20 22:11:02 +00:00
martin
a869c43f49 FpDebug: fix threadmap iterator in linux classes. Broken by locked-iterator
git-svn-id: trunk@64248 -
2020-12-20 12:38:51 +00:00
martin
3894fe4f86 FpDebug: fix threadmap iterator in linux classes. Broken by locked-iterator
git-svn-id: trunk@64247 -
2020-12-20 11:00:58 +00:00
martin
fa5199045e LazDebuggerFp, FpDebug: Show an error message, if the debugger cannot run the application. Issue #0038167
git-svn-id: trunk@64243 -
2020-12-19 22:39:00 +00:00
martin
43e81576fe FpDebug: Use thread-save iterator. Issue #0038047, #38068 . Normal Iterators are added/removed to/from FIterators: TList => which is not thread save. Since the map in question never changes during iteration, the callbacks are not needed.
git-svn-id: trunk@64128 -
2020-11-12 12:02:33 +00:00
martin
e2c618e262 FpDebugger: Show classname for functions in stack.
git-svn-id: trunk@64022 -
2020-10-15 18:38:20 +00:00
martin
6156b1bf31 FpDebugDebugger: replace Control-thread with ThreadWorkQueue
git-svn-id: trunk@64020 -
2020-10-15 18:38:16 +00:00
martin
e229057f03 FpDebug: logging for ThreadWorkerQueue
git-svn-id: trunk@64019 -
2020-10-15 18:37:40 +00:00
martin
b5afc22435 FpDebug: Utils, Add TLockList / refactor, move to internal Fifo queue
git-svn-id: trunk@64017 -
2020-10-15 18:37:37 +00:00
martin
1db96371a5 FpDebug: fix stdcall
git-svn-id: trunk@63983 -
2020-10-09 14:17:22 +00:00
martin
bc13e22021 FpDebug: fix opening files with utf8 name on windows / prevent crash in trying to create filehandle, when an exception occurs. Issue #37884
git-svn-id: trunk@63978 -
2020-10-08 20:58:14 +00:00
martin
bb154702ae FpDebug: Do not display (nested) records as pointer.
git-svn-id: trunk@63921 -
2020-09-25 22:08:47 +00:00
maxim
4c69c36745 FPDebug: fixed typo, regenerated translations and updated Russian translation
git-svn-id: trunk@63901 -
2020-09-20 23:35:54 +00:00
joost
566610a9ba FpDebug: Cleanup of several issues introduced in r63899 #539c1f9a2b, in which a lot more was committed then planned. Among others utility functions to allow calling functions with parameters. The ability to set the value of (regvar) variables and some minor bug-fixes. As part of the parameter-support, addresses located in a register are not immediately read and converted to constants anymore. But the location of the actual register is stored. This might have unforeseen side-effects
git-svn-id: trunk@63900 -
2020-09-20 21:52:48 +00:00