Martin
cbf0b6b0d6
Debugger: make ThreadState an enum
2022-09-11 02:25:23 +02:00
Martin
712b3e161d
FpDebug: Fixes for watch-function-eval: allow function to ignore breakpoints set by the user.
2022-09-10 21:36:09 +02:00
Martin
26b56b74f9
FpDebug: Ensure update notification is sent after new stakc frames have been added.
2022-09-10 18:01:37 +02:00
Martin
7038201fcd
LazDebuggerFp: Fix sporadic "interrupts" (callstack updates) while stepping (before reaching step target)
2022-09-07 17:09:55 +02:00
Martin
116b22ed72
FpDebug: Introduce "Intrinsics functions" for watches. Add "length()" for string (dwarf-3) and array
2022-09-07 04:36:34 +02:00
Martin
deb959022e
LazDebuggerFp: Additional check to ensure full count is set correctly.
2022-09-07 04:36:33 +02:00
Martin
88ad421ae1
LazDebuggerFp: Add nil check in Memreader
2022-09-06 21:28:13 +02:00
Martin
7347d41a12
Debugger: fix crash introduced in "LazDebuggerFp: improve error handling"
2022-08-31 15:33:48 +02:00
Martin
552fd1dce8
LazDebuggerFp: improve error handling
2022-08-31 02:52:34 +02:00
Martin
d49b8782d7
FpDebugger: fix clear current command after SigSegV before pause (don't conflict with func-eval)
2022-08-23 22:44:59 +02:00
Martin
1c87d53199
Debugger: implement reading class.unitname from RTTI
2022-08-05 02:45:01 +02:00
Martin
6f99f0fe16
Debugger: Configuration for value converter
2022-08-05 02:44:28 +02:00
Martin
8a0a21a7bc
LazDebuggFp,FpDebug: fix racing conditions
...
- while TDbgController.SendEvents runs in the main thread, the work-thread may run TDbgControllerCallRoutineCmd
- TDbgControllerCallRoutineCmd may run, while the main thread attempts to set the next command
- CallStack code was from before the WorkQueue was introduced. It needs a different approach. (without attempting to start a new worker)
2022-07-27 01:17:35 +02:00
Pascal Riekenberg
2bc0a9b371
Debugger: added support for TThread.NameThreadForDebugging
2022-06-28 07:35:40 +02:00
Martin
dd89fc14e1
LazDebuggerFp: fixed crash in callstack / dangling pointer
2022-06-23 17:22:23 +02:00
Martin
131d1062df
Debugger: allow calling SysVarToLStr for variants (via user defined type-names)
2022-06-23 13:54:18 +02:00
Martin
99495ba51a
FpDebugDebugger: fix retrieving stack without limit (fix copy stack to clipboard)
2022-06-04 23:06:11 +02:00
Martin
8d3d08ae4c
Debugger: Moved dsState to new unit
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
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
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
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
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
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
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
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
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
03920381a6
FpDebugger: amend address/line for exceptions (addr was line after caller)
...
git-svn-id: trunk@63866 -
2020-09-05 00:14:38 +00:00
pascal
e43ef2df62
FpDebug: fixed missing unit
...
git-svn-id: trunk@63820 -
2020-08-24 06:13:22 +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
d4275fa7e4
LazDebugFp, FpDebug: TestAssert does not set exception frame. Adjust for line before return address
...
git-svn-id: trunk@63537 -
2020-07-09 14:28:08 +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
af13ce4b2d
LazDebuggerFp: fix searching assert frame
...
git-svn-id: trunk@63534 -
2020-07-08 22:38:58 +00:00
martin
919849eac7
LazDebuggerFp: Show source location for Hardcoded breakpoint / int3
...
git-svn-id: trunk@63521 -
2020-07-06 13:00:59 +00:00
martin
57f2930395
FpDebug: Pause at hardcoded int3
...
git-svn-id: trunk@63513 -
2020-07-05 19:16:59 +00:00