Commit Graph

1291 Commits

Author SHA1 Message Date
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
joost
539c1f9a2b FpDebug: Renamed TFpDbgHardcodedContext to TFpDbgHardcodedScope
git-svn-id: trunk@63899 -
2020-09-20 19:21:53 +00:00
martin
47bbc252d8 FpDebug: Fix QuoteText
git-svn-id: trunk@63885 -
2020-09-17 23:04:18 +00:00
martin
fb4e9603c0 FpDebug: Ensure the array for the worker-thread and the main-thread are each unique. Fix occasional search misses. / Small refactor
git-svn-id: trunk@63863 -
2020-09-03 16:32:29 +00:00
martin
1a08e0ba34 FpDebug: Fix Step-Into - sometimes would step before the end of statement. This happened if a nested call was single step, and a "ret" statement encountered. The "ret" (in the nested) was attributed to the outer code, wrongly indicating the command "stepped out".
git-svn-id: trunk@63862 -
2020-09-03 16:32:27 +00:00
martin
75c2186b1d FpDebug: Detect incorrect path to unit, and omit path. Issue #0037657
git-svn-id: trunk@63840 -
2020-08-29 12:02:20 +00:00
martin
b2cb237d43 FpDebug: Compute full filenames only once
git-svn-id: trunk@63839 -
2020-08-29 12:02:18 +00:00
martin
cb9e09de9e FpDebug: Use available symbol from stack to create SearchScope
git-svn-id: trunk@63835 -
2020-08-26 19:15:02 +00:00
martin
c15f2179e9 FpDebug: WorkerQueue, protect with try finally
git-svn-id: trunk@63834 -
2020-08-26 19:15:00 +00:00
martin
d62e55102b FpDebug: use threads to scan units for symbol
git-svn-id: trunk@63829 -
2020-08-25 17:31:53 +00:00
martin
c9916553dd FpDebug: extend/rework TFpThreadWorkerQueue
git-svn-id: trunk@63828 -
2020-08-25 17:31:51 +00:00
martin
d279fb5a4a FpDebug: Move "uses" (ensure register) of imagereader classes from controller to DbgInfo (not all apps use a controller)
git-svn-id: trunk@63821 -
2020-08-24 11:19:20 +00:00
martin
54e4b88848 FpDebug: remove circular unit references
git-svn-id: trunk@63819 -
2020-08-23 22:57:41 +00:00
martin
b63067892d FpDebug: More use of name hashes
git-svn-id: trunk@63816 -
2020-08-23 12:52:32 +00:00
martin
f34d943098 FpDebug: fix, TLazThreadedQueue, check result of push/pop item, instead of item=nil
git-svn-id: trunk@63815 -
2020-08-23 12:52:30 +00:00
martin
2d8cf332f9 FpDebug: Run some tasks in threads during startup
git-svn-id: trunk@63812 -
2020-08-22 20:27:17 +00:00
martin
953c9964f8 FpDebug: make more string params "const foo :string"
git-svn-id: trunk@63810 -
2020-08-22 20:27:14 +00:00
martin
6ed8bff46a FpDebug: Faster upper/lower-case. (for ansi only idents)
git-svn-id: trunk@63809 -
2020-08-22 20:27:11 +00:00
martin
24d48052e3 FpDebug: Speed up fpdebug (GoNamedChild) by creating hashes for symbol names / Create Hash-lookup field for units to skip some CU
git-svn-id: trunk@63808 -
2020-08-22 20:27:10 +00:00
martin
24a3af8855 FpDebug: Refactor passing upper+lowercase name for search
git-svn-id: trunk@63807 -
2020-08-22 20:27:08 +00:00
martin
c4d125495e FpDebug: Fix Controller.Call / wrong type for context param
git-svn-id: trunk@63794 -
2020-08-19 19:14:33 +00:00
martin
1bacaaff9f FpDebug: Add reference for value.context
git-svn-id: trunk@63787 -
2020-08-18 23:12:51 +00:00
martin
d8007187b8 FpDebug, apps: Compilation fixes
git-svn-id: trunk@63785 -
2020-08-18 23:12:48 +00:00
martin
1ba76474e3 FpDebug: Separate Context and SearchScope
git-svn-id: trunk@63784 -
2020-08-18 23:12:46 +00:00
martin
93c1ca640f FpDebug: Rename some context classes, and search functions. Start differentiating between Context and SearchScope
git-svn-id: trunk@63783 -
2020-08-18 23:12:42 +00:00
martin
743a1db4a0 FpDebug: Compile Hints / Missing function results
git-svn-id: trunk@63782 -
2020-08-18 23:12:39 +00:00
juha
125e794a87 Remove useless test for X <> Nil when using "is" operator.
git-svn-id: trunk@63779 -
2020-08-18 17:35:21 +00:00
martin
9ff4b0dc00 FpDebug: Win, add debugln for ContinueDbgEvent / WaitForDebugEvent
git-svn-id: trunk@63777 -
2020-08-18 11:37:54 +00:00
martin
633b2735dd FpDebug: Test, fix compile
git-svn-id: trunk@63776 -
2020-08-18 11:37:52 +00:00
martin
f2959d4c98 FpDebug: Win, Only read ThreadState once per thread.
git-svn-id: trunk@63775 -
2020-08-18 00:04:04 +00:00
martin
5b077144a9 FpDebug: PascalBuilder, add missing output for some type declarations
git-svn-id: trunk@63772 -
2020-08-17 21:50:40 +00:00
martin
4145a55fee FpDebug: small optimization for GetDerefAddress: TFpDbgMemLocation
git-svn-id: trunk@63771 -
2020-08-17 21:50:38 +00:00
martin
2e3e27feb2 FpDebug: Allow ClassType.Field => for static fields / return type on none static fields
git-svn-id: trunk@63770 -
2020-08-17 21:50:36 +00:00
martin
67a21fe3bb FpDebug: Allow structure/class members to have DW_AT_const_value
git-svn-id: trunk@63769 -
2020-08-17 21:50:35 +00:00
martin
ee5e720d74 FpDebug: Safety checks for Value <> nil. (In case of broken dwarf info)
git-svn-id: trunk@63768 -
2020-08-17 21:50:33 +00:00
martin
2bba45a96c FpDebug: SetRegisterValue for Windows
git-svn-id: trunk@63764 -
2020-08-16 20:23:35 +00:00
martin
1f229f6246 FpDebug: Fix compile on Windows
git-svn-id: trunk@63753 -
2020-08-16 12:40:36 +00:00
joost
a733105c1c fpDebug: Ability to do simple function-calls
git-svn-id: trunk@63751 -
2020-08-16 10:20:37 +00:00
joost
a46dc42df8 * Parameter-type adapted, to clarify what kind of symbol should be passed
git-svn-id: trunk@63709 -
2020-08-09 21:15:39 +00:00
martin
838de9a502 FpDebug: Ensure PauseRequest calls break handler. On Linux Process.Pause does not trigger an PausedAtHardcodedBreak
git-svn-id: trunk@63597 -
2020-07-18 23:22:38 +00:00
mattias
61c53d6f41 LazUtils/FreeType: Separate FreeType stuff into its own package
git-svn-id: trunk@63558 -
2020-07-14 18:09:17 +00:00
mattias
8ceb09a67b make: changed default darwin lcl platform from carbon to cocoa
git-svn-id: trunk@63551 -
2020-07-13 09:00:41 +00:00
martin
c84d9e5bfe LazDebugFp, FpDebug: TestAssert does not set exception frame. Search by IP address
git-svn-id: trunk@63535 -
2020-07-08 22:39:00 +00:00
martin
69ee06144d FpDebug: Fix searching frame by BasePointer
git-svn-id: trunk@63533 -
2020-07-08 22:38:56 +00:00
martin
57f2930395 FpDebug: Pause at hardcoded int3
git-svn-id: trunk@63513 -
2020-07-05 19:16:59 +00:00
martin
e55e3eec50 FpDebug: Refactor OnHitBreakpointEvent
git-svn-id: trunk@63512 -
2020-07-05 19:16:56 +00:00
martin
50c0885715 FpDebug/LazDebuggerfp: Make memory limits configurable
git-svn-id: trunk@63509 -
2020-07-05 01:18:32 +00:00
martin
9d8b224756 FpDebug: Improve using linker symbols (.symtab) on Linux. (Store SectionEnd Addr as upper bound for search)
git-svn-id: trunk@63501 -
2020-07-03 13:35:35 +00:00
martin
8158231ff0 FpDebug: Windows, fix PE-Symbol loader. Use correct offset for each section
git-svn-id: trunk@63488 -
2020-07-02 13:23:36 +00:00
martin
b9173dead1 FpDebug: Added workaround for frame detection. Exceptions stops at entry point, and there can not yet be a frame.
git-svn-id: trunk@63461 -
2020-06-28 14:43:13 +00:00