Commit Graph

638 Commits

Author SHA1 Message Date
Martin
c90fb08f85 LazDebuggerFp: Win64 -Monitor RtlRestoreContext to catch more unwind cases. 2021-12-09 18:17:56 +01:00
Martin
269079e11a LazDebuggerFp, Tests: Ensure the debugger does not break out of ProcessLoop, unless it is done. 2021-12-09 18:17:56 +01:00
Martin
280d99664e LazDebuggerFp, Tests: Ensure the debugger does not go into unwanted dsInternalPause 2021-12-09 18:17:56 +01:00
Martin
e618b09804 LazDebuggerFp: Fix Stepping and threads / Ensure loop exits with correct EventType 2021-12-09 18:17:56 +01:00
Martin
54d2e1f159 FpDebug: "Run To" command to find the next line with code. (Step over to, does not yet) 2021-12-07 20:35:49 +01:00
Martin
a691278256 LazDebuggerFp: Fix handling of internal SEH breakpoints. Do not remove breakpoints from outer frames, they may still be needed. 2021-12-07 19:59:30 +01:00
Martin
4f94496f20 LazDebuggerFp: clear flags for set/unset internal breaks 2021-12-07 15:41:29 +01:00
Martin
ba63a18843 LazDebuggerFp: Fix removing temp break from "FBreakPoints[bplSehW64Except]". "Rdx" was a copy and paste error, once hit the address is "PC". 2021-12-07 12:50:08 +01:00
Martin
480b0fd02d LazDebuggerFp: Fixed step-out over finally. Do not stop in finally block. 2021-12-06 17:23:28 +01:00
Martin
28d1437b17 LazDebuggerFp: Added Comments for handling FpcSpecific data 2021-12-06 17:23:28 +01:00
Martin
1b1dd8f5fa LazDebuggerFp: Fixed race condition / double free. By the time TFpDebugExceptionStepping.Destroy is called, the debug process should be gone, and should have deleted all its breakpoint, including those in DoDbgStopped. Also this is usually called in the Process-Exit event. 2021-12-05 22:44:05 +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
217459a76f LazDebuggerFp: fixed a nil deref, DefaultContext needs CurrentThread 2021-12-01 20:39:53 +01:00
Martin
d5d01deed4 LazDebuggerTestBase: file forgotten in fcd147a0bf / remove design time from package 2021-12-01 19:58:07 +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
ad58ebedf8 FpDebug, CmdLineDebuggerBase: Remove "design time".... / Add missing changes in packagefile 2021-11-25 21:01:06 +01:00
Martin
92257eaa94 CmdLineDebuggerBase: Add missing license 2021-11-25 12:55:04 +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
Martin
32aaa9b127 FpDebug: Fix default value / fix test 2021-11-07 15:32:43 +01:00
ccrause
50987e044c Renamed remote debugger to FpRspRemoteDebugger 2021-11-06 18:26:58 +02:00
ccrause
b7a20adaeb Remove unused variable FProcessConfig. 2021-11-06 14:23:33 +01:00
ccrause
a23062a904 Moved remote protocol debugger into own package. 2021-11-06 14:23:30 +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
Martin
f5956f9fa8 Regenerate Makefiles for fp/gdbmi-debuggers 2021-11-01 17:29:46 +01:00
ccrause
f515d77c42 Ensure bufOffset calculation cannot result in a negative value 2021-11-01 12:15:25 +02:00
ccrause
2e74920e74 Fixed up Makefiles so that new dependencies build correctly 2021-11-01 12:06:56 +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
mattias
0354b47bc4 updated makefiles 2021-10-18 14:32:30 +02: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
e4499b3ba0 LazDebuggerFp: Run Thread.RegisterValueList in debug-thread 2021-10-13 21:48:26 +02:00
Martin
24c378f797 LazDebuggerFp: Trigger DefaultContext in thread to cache it. (Avoid calling GetInstructionPointerRegisterValue outside the debug-thread) 2021-10-13 21:48:25 +02:00
Martin
12b1484637 LazDebuggerFp: Ensure MemReader.RegisterSize is run in debug-thread. It currently needs the thread-state, as the size is read from the RegisterValue-list. 2021-10-13 19:33:40 +02:00
Martin
f6d50d449f LazDebuggerFp, test: add run as console app 2021-10-01 14:31:52 +02:00
Martin
c8a6a985d0 LazDebuggerFp: Do not call GetInstructionPointerRegisterValue (ReadThreadState) while target may be running. Also do not call from IDE thread (only debug worker thread is allowed). 2021-09-26 02:01:50 +02:00
Martin
f99f5c0ed9 LazDebuggerFp: Make sure OnIdle is called, and all results are awaited. (Fixes Debug History) / DebugManager triggers snapshots for any dsPause and dsInternalPause. 2021-09-26 01:56:00 +02:00
ccrause
7309087cd0 Only calculate instruction offset if sym is assigned, else default to -1. 2021-09-12 11:17:46 +02:00
ccrause
c2c570c04e Include function offset of disassembled instruction to AnEntry to help identify the start of non-source lines identified by a function name. 2021-09-11 16:51:48 +02:00
ccrause
5000337f6d Include function name in disassembled entry item. 2021-09-11 15:00:27 +02:00
Martin
1c87dc96eb FpDebug: refactor external debug info / Enable for Linux and Windows 2021-08-14 15:23:17 +02:00
Martin
9922733232 FpLldbDebug: reg-num for Apple M1 2021-08-01 19:23:01 +02:00
martin
b5bf7de6f9 FpDebug, Windows: Forward OutputDebugString to IDE.
git-svn-id: trunk@65475 -
2021-07-19 18:17:06 +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
6661f86edd Debugger: allow to force lazloggerbase via define
git-svn-id: trunk@65227 -
2021-06-14 07:30:45 +00:00
martin
a0035c6097 LazDebuggerFp: tests for modify watch / build modes for test
git-svn-id: trunk@65226 -
2021-06-14 07:30:39 +00:00
martin
93b69aefd6 FpDebug: Fix dangling refs in Watches/Locals.FreeNotification
git-svn-id: trunk@65186 -
2021-06-08 19:32:28 +00:00
martin
83fc0859f9 FpDebug: Tests
git-svn-id: trunk@65184 -
2021-06-08 19:32:24 +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
a3bd018a86 Debugger, IDE: Watches, add "Allow function calls" option to IDE / Add "Auto set class from instance"
git-svn-id: trunk@65152 -
2021-05-29 22:51:13 +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
320fe8c8a8 LazDebuggerFp: reduce compilation hints (not inlined)
git-svn-id: trunk@65149 -
2021-05-29 22:51:03 +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
martin
37ed94e5eb FpDebug, test: DisAssembler testcase
git-svn-id: trunk@64993 -
2021-04-14 16:28:39 +00:00
martin
776651b5e3 FpDebug, test: DisAssembler testcase
git-svn-id: trunk@64990 -
2021-04-14 14:34:57 +00:00
martin
07bdec6e7c LazDebuggerFp: Fixed updating breakpoint-state
git-svn-id: trunk@64976 -
2021-04-12 03:44:39 +00:00
martin
4c8ebc85fe LazDebuggerFp: Fixed updating breakpoint-state
git-svn-id: trunk@64963 -
2021-04-10 23:48:14 +00:00
martin
caeb20c1c4 GdbmiDebugger, test: more output, to compare test results
git-svn-id: trunk@64959 -
2021-04-10 23:48:07 +00:00
martin
474161d379 GdbmiDebugger: Update "RunGdbmi" script (use testbase)
git-svn-id: trunk@64956 -
2021-04-10 23:48:00 +00:00
martin
176d2080c3 LazDebuggerFp: fixed race conditions / Cache variables must only be used for calls by main-thread.
git-svn-id: trunk@64888 -
2021-03-28 20:26:25 +00:00
martin
1b907520c7 Test Debugger, GDBMI: ArgC/Env Utf8 handling for cygwin builds
git-svn-id: trunk@64876 -
2021-03-27 23:50:44 +00:00
martin
e5e203904d FpDebug: fix nil pointer in value evaluate (editor hint on identifier)
git-svn-id: trunk@64824 -
2021-03-16 16:03:18 +00:00
martin
8b81b7cfd3 Debugger: Revert recent upper/lowercase changes
git-svn-id: trunk@64570 -
2021-02-13 14:30:50 +00:00
mattias
62c37ad72a updated Makefiles
git-svn-id: trunk@64567 -
2021-02-13 13:01:14 +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
6857851554 FpDebug/LazDebugger: add asserts for thread safety
git-svn-id: trunk@64542 -
2021-02-11 22:40:29 +00:00
martin
ccf7d87898 LazDebuggerFp: run MemMgr and similar always in Thread to avoid data races
git-svn-id: trunk@64541 -
2021-02-11 22:40:27 +00:00
martin
dee9846c86 DebuggerTests: clean up / change naming for temp exe files
git-svn-id: trunk@64540 -
2021-02-11 22:40:25 +00:00
martin
eab19f455a LazDebuggerFp: replace TThread.Queue with App.QueueAsync
git-svn-id: trunk@64539 -
2021-02-11 22:40:23 +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
f6d3eca79a Tests, LazDebuggerFp: more aggressive timing/scheduling for faster test runs
git-svn-id: trunk@64537 -
2021-02-11 22:40:19 +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
martin
5bbf925ec5 LazDebuggerFp: Split workerthreads into new unit for code running in the thread. (Easier to see which thread may access which objects)
git-svn-id: trunk@64534 -
2021-02-11 22:40:13 +00:00
martin
07871decc1 LazDebuggerFp: reduce compiler hints
git-svn-id: trunk@64521 -
2021-02-10 18:16:40 +00:00
martin
13e0aa558a DebuggerTest: restore use resources
git-svn-id: trunk@64520 -
2021-02-10 18:16:38 +00:00
martin
45514d05ab DebuggerTests: add prebuild resources file
git-svn-id: trunk@64519 -
2021-02-10 18:16:36 +00:00
juha
657341c4df Fix debugger test compilation.
git-svn-id: trunk@64518 -
2021-02-10 15:35:10 +00:00
juha
77e6853ca6 Components: Reduce calls to LowerCase().
git-svn-id: trunk@64515 -
2021-02-10 13:43:15 +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
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
martin
20f6b975cf FpDebug: tests pointer math
git-svn-id: trunk@64401 -
2021-01-16 19:30:12 +00:00
martin
3063ca080a LazDebuggerFp: Fixed Crash. Initialize DefaultContext for Locals.
git-svn-id: trunk@64393 -
2021-01-15 19:03:01 +00:00
martin
1d0df4e6e4 FpDebug: more tests for float watches
git-svn-id: trunk@64389 -
2021-01-14 21:14:09 +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
martin
809ce9c782 LazDebuggFpLldb: fix freeing an uninitialized object. (Locals dlg)
git-svn-id: trunk@64358 -
2021-01-08 23:07:53 +00:00
martin
bc73f7750f LazDebuggerFp: Fix endless loop, in stack supplier.
git-svn-id: trunk@64319 -
2021-01-03 01:37:56 +00:00
martin
b937fb36b5 LazDebuggerFp: Fix crash when stopping debugger. Issue #0038065 / Ensure no background tasks are running when the FpDebug destroys the CurrentProcess (in process-exit event).
git-svn-id: trunk@64266 -
2020-12-22 13:34:55 +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
b5e8644836 LazDebuggerFp: Do not acquire Focus for none-breaking breakpoints (use dsInternalPause). Issue #38219
git-svn-id: trunk@64242 -
2020-12-19 17:06:34 +00:00
martin
557173a500 LazDebuggerFp: remove duplicated code
git-svn-id: trunk@64241 -
2020-12-19 17:06:32 +00:00
martin
78af663741 Revert WatchesValuePrg.pas: r64120 #618261511d LCL: Remove tests for FPC versions 2.x. Cannot be used anyway.
git-svn-id: trunk@64240 -
2020-12-19 17:06:31 +00:00
martin
cbcc64b6eb LazDebuggerFp: Do not call QuickPause for "delayed removed" breakpoints.
git-svn-id: trunk@64239 -
2020-12-19 17:06:29 +00:00
martin
ff698f9f85 LazDebuggerFp: Do not change the DebuggerState for QuickPause (if only breakpoints need to be set/removed)
git-svn-id: trunk@64238 -
2020-12-19 17:06:27 +00:00
martin
b0afde4a36 LazDebuggerFp: Do not request pause (for breakboint changes) when in "SendEvents" (paused, but no State set yet)
git-svn-id: trunk@64237 -
2020-12-19 17:06:25 +00:00
juha
618261511d LCL: Remove tests for FPC versions 2.x. Cannot be used anyway.
git-svn-id: trunk@64120 -
2020-11-10 09:50:20 +00:00