Commit Graph

1214 Commits

Author SHA1 Message Date
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