Commit Graph

397 Commits

Author SHA1 Message Date
Pascal Riekenberg
db21b090a6 First attempt: Name threads for debugging 2022-05-16 08:16:04 +02:00
Martin
76d9771c34 Debugger: More LazDebuggerIntf. Add/Improve numeric, pointer, float and string watches 2022-03-24 00:39:04 +01:00
Martin
8d3d08ae4c Debugger: Moved dsState to new unit 2022-03-24 00:39:03 +01:00
Martin
e33da7bf02 LazDebuggerFp: Fix watches test. It was accidentally limited to a single sub-test in a37d077199 2022-03-24 00:39:03 +01:00
Martin
4f8efdd21f FpDebug: fix warnings. 2022-03-24 00:39:03 +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
d38a268f3d FpDebug: Win64, Fix "Run (F9)" incorrectly triggered watch/stack updates while the app was running.
Similar to the Win32 fix at a92db946ec
2022-02-22 01:01:40 +01:00
Martin
dce19de110 FpDebug: Disassembler, start disassembling at begin of current function. Add limit, how far back the begin is allowed to be 2022-02-09 16:42:27 +01:00
Martin
d56774da57 FpDebug: Disassembler, start disassembling at begin of current function, to provide some LinesBefore 2022-02-09 15:39:27 +01:00
Martin
e19b911ab7 FpDebug: Disassembler, fix SrcStatementCount / read-mem, if size is too large 2022-02-09 15:39:27 +01:00
Martin
d7b9ebb6dc FpDebug: Trigger "Changed" after adding dis-assembled ranges. Fixes scrolling down in frontend. 2022-02-09 15:39:27 +01:00
Martin
a37d077199 Debugger: Update LazDebuggerFp testcase for new LazDebuggerIntf / SetNumValue 2022-02-01 17:18:20 +01:00
Martin
8e3c816593 Debugger, LazDebuggerIntf: Introduce SetNumValue and SetTypeName 2022-02-01 17:18:20 +01:00
Martin
442f57cf49 LazDebuggerFp: Handle WatchValue in thread 2022-02-01 17:18:20 +01:00
mattias
e8b2d0f821 lazdebuggers: fixed compile linux 2022-01-16 21:48:49 +01:00
Martin
a92db946ec FpDebug: Win32, Fix "Run (F9)" incorrectly triggered watch/stack updates while the app was still running (slowing execution). 2022-01-16 17:06:31 +01:00
Martin
6d0ddd50bd FpDebug, test: Add build mode for $DEFINE TEST_FPDEBUG_SINGLE_THREAD 2022-01-10 14:08:38 +01:00
Martin
2fa72c8755 LazDebuggerFp: Check callback is assigned. 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
Martin
aa45837b87 IdeDebugger: New Package IdeDebugger. Move some classes from DebuggerIntf 2022-01-10 14:08:36 +01:00
Martin
7f9e1893d2 Rename TDBGEvaluateFlag to TWatcheEvaluateFlag 2022-01-10 14:08:35 +01:00
Martin
6b95ef242c IDE, Debugger-Intf: Hide Monitor property for Callstack, Threads 2022-01-09 01:13:55 +01:00
Martin
2b5f264ede IDE, Debugger-Intf: Clean-up, Move Locals list from DbgIntf to IDE 2022-01-09 01:13:55 +01:00
Martin
717ec4887d IDE, Debugger-Intf: Clean-up, Move Watches list from DbgIntf to IDE 2022-01-09 01:13:55 +01:00
Martin
bfcd8fc293 LazDebuggerFp: More stepping tests 2021-12-12 21:00:28 +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
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
d8188bb780 FpDebug: Show "class var" if in current context (no class/instance-name prefix). 2021-12-01 19:55:39 +01:00
Martin
32aaa9b127 FpDebug: Fix default value / fix test 2021-11-07 15:32:43 +01:00
ccrause
b7a20adaeb Remove unused variable FProcessConfig. 2021-11-06 14:23:33 +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