Commit Graph

274 Commits

Author SHA1 Message Date
Martin
717ec4887d IDE, Debugger-Intf: Clean-up, Move Watches list from DbgIntf to IDE 2022-01-09 01:13:55 +01:00
Martin
a1c6e559e1 LazDebuggerFp: Cleanup compiler hints 2021-12-12 21:00:27 +01:00
Martin
6e5c00bb59 LazDebuggerFp: Handle Win32-SEH for step-in/out/over 2021-12-12 21:00:27 +01:00
Martin
4490c1f5a5 LazDebuggerFp: ifdef win64 code 2021-12-12 21:00:22 +01:00
Martin
97c29d9540 LazDebuggerFp: Added safety measures for single stepping (Win64 SEH) 2021-12-12 21:00:22 +01:00
Martin
4c78791096 LazDebuggerFp: catch exceptions in Application.ProcessMessages 2021-12-12 21:00:22 +01:00
Martin
c33019c14b LazDebugger: Fix, ensure DefaultContext is available. Broken in e618b09804 2021-12-10 00:29:26 +01:00
Martin
4548d90a7f LazDebuggerFp: Win64 - catch finally handlers, if the "try" block was entered via breakpoint (not stepped into) *and* left via "exit". 2021-12-09 18:17:57 +01:00
Martin
c90fb08f85 LazDebuggerFp: Win64 -Monitor RtlRestoreContext to catch more unwind cases. 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
ccrause
f515d77c42 Ensure bufOffset calculation cannot result in a negative value 2021-11-01 12:15:25 +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
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
b5bf7de6f9 FpDebug, Windows: Forward OutputDebugString to IDE.
git-svn-id: trunk@65475 -
2021-07-19 18:17:06 +00:00
martin
a9bdfda626 FpDebug: version 1.0
git-svn-id: trunk@65231 -
2021-06-14 17:00:52 +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
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
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
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
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
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
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
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
3063ca080a LazDebuggerFp: Fixed Crash. Initialize DefaultContext for Locals.
git-svn-id: trunk@64393 -
2021-01-15 19:03:01 +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