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 |
|