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