Commit Graph

1090 Commits

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