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
martin
e55e3eec50
FpDebug: Refactor OnHitBreakpointEvent
...
git-svn-id: trunk@63512 -
2020-07-05 19:16:56 +00:00
martin
df762f1976
LazDebuggerFp: restructure config for mem limits
...
git-svn-id: trunk@63511 -
2020-07-05 12:57:21 +00:00
martin
50c0885715
FpDebug/LazDebuggerfp: Make memory limits configurable
...
git-svn-id: trunk@63509 -
2020-07-05 01:18:32 +00:00
martin
582cb02032
LazDebuggerFp: Detect faulty Assert frame info.
...
git-svn-id: trunk@63500 -
2020-07-03 13:35:33 +00:00
martin
119607908c
FpDebug: show registers according to selected stackframe
...
git-svn-id: trunk@63460 -
2020-06-28 14:43:11 +00:00
martin
5d80c349fb
FpDebug: find stackframe for exception
...
git-svn-id: trunk@63459 -
2020-06-28 14:43:10 +00:00
martin
4b28988db2
LasDebuggerFp: Better error handling when trying to cast to instance class (show none casted class, if cast not avail)
...
git-svn-id: trunk@63398 -
2020-06-19 17:45:26 +00:00
martin
f59a294a01
FpDebug: Fixed reading memory for #0 terminated string data
...
git-svn-id: trunk@63391 -
2020-06-18 18:06:26 +00:00
martin
63b7ef5df1
Debugger: Add text messages for RunErrors
...
git-svn-id: trunk@63382 -
2020-06-17 16:52:46 +00:00
martin
8f89ad7b07
FpDebug: Catch RunError
...
git-svn-id: trunk@63381 -
2020-06-17 16:52:14 +00:00
martin
1b2bf99ec1
FpDebug: refactor showing exception details
...
git-svn-id: trunk@63380 -
2020-06-17 16:52:12 +00:00
martin
a43e155cdb
FpDebug, Debuggers, IDE: Make MemManager easier to access. (via Controller and Instance)
...
git-svn-id: trunk@63358 -
2020-06-16 13:42:42 +00:00
martin
e84ff269e4
FpDebug: change GetInstanceClassNameFromPVmt to go through TFpDwarfFreePascalSymbolClassMap
...
git-svn-id: trunk@63356 -
2020-06-15 18:19:02 +00:00
martin
8d02777940
FpDebug: refactor getting instantiated classname.
...
git-svn-id: trunk@63355 -
2020-06-15 16:18:26 +00:00
martin
3186086cda
FpDebug: fix available commands in dsStop
...
git-svn-id: trunk@63318 -
2020-06-06 18:26:37 +00:00
martin
26272363cd
IDE, Debugger: fix r63306 #06b1a964b6 "Fix Run menu, to show correct available debugger commands" -- Do not init the debugger. => Review the entire calculation of available actions in the Run menu. Issue #0037183
...
git-svn-id: trunk@63317 -
2020-06-06 16:45:12 +00:00
martin
4f5896d680
LazDebuggerFp: Implemented/Corrected StepOverTo and RunTo
...
git-svn-id: trunk@63305 -
2020-06-06 00:53:48 +00:00
martin
de80bde641
IDE: rename "run to cursor" to "step to cursor" - reflect what it really does
...
git-svn-id: trunk@63302 -
2020-06-06 00:53:39 +00:00
martin
3e545f0813
LazDebuggerFp: change default for NextOnlyStopOnStartLine. Now set to "False". Only affects "Step out"
...
git-svn-id: trunk@63076 -
2020-04-25 13:23:30 +00:00
martin
e0ebb5cb56
FpDebug: allow changing current thread on Linux
...
git-svn-id: trunk@63068 -
2020-04-24 20:08:22 +00:00
martin
bb08a7b8cb
FpDebug: do not ExecuteInThread while running / prevent IDE hanging
...
git-svn-id: trunk@63066 -
2020-04-24 20:08:19 +00:00
martin
1cc3be175c
FpDebug: prevent debugger thread from crashing / prevent IDE hang, waiting for crashed thread.
...
git-svn-id: trunk@63064 -
2020-04-24 20:08:16 +00:00
martin
f2d5fd797b
FpDebug: Refactor storing/comparing stack-pointer/frame for step-out detection. Allow different architectures to provide sub-classes
...
git-svn-id: trunk@63060 -
2020-04-24 20:08:09 +00:00
martin
667546f298
FpDebugger (all): prevent nil deref, for empty watch (auto instance class)
...
git-svn-id: trunk@62811 -
2020-03-25 15:51:09 +00:00
martin
62facbb44d
Renamed TDbgDisassembler class and all related classes to avoid name clashes with FpDebugDebugger classes.
...
Patch/Contributed by ccrause
git-svn-id: trunk@62757 -
2020-03-12 14:21:17 +00:00
martin
121b9389ee
Naive implementation of reverse disassembling
...
Patch/Contributed by ccrause
git-svn-id: trunk@62754 -
2020-03-12 14:21:12 +00:00
martin
6d6903e246
Introduce minimum and maximum instruction size properties to TDbgDisassembler. This is useful for buffering calculations, also in reverse disassembling. Preread required memory before disassembling to reduce impact of remote target access
...
Patch/Contributed by ccrause
git-svn-id: trunk@62753 -
2020-03-12 14:21:10 +00:00
martin
b014fcdeeb
Let the TProcess call decide, if calls must be made in the correct thread (debugger-thread). Linux/trace only allows the dbg thread access.
...
git-svn-id: trunk@62752 -
2020-03-12 14:21:08 +00:00
martin
676c17f1cf
FpDebug: Refactor disassembler into class
...
git-svn-id: trunk@62746 -
2020-03-12 14:09:14 +00:00
martin
834a18b043
FpDebug: Fix Command.DoContinue. Do not read DbgThread.GetInstrPtr if the event is caused by another thread. On Linux the none-event thread (belonging to the command) may not be paused/readable.
...
git-svn-id: trunk@62495 -
2020-01-04 19:44:01 +00:00
martin
6cc8e56bdc
FpDebug: Fixed IDE hang on linux. ExecuteInDebugThread can be called recursive (e.g., by MemReader)
...
git-svn-id: trunk@62491 -
2020-01-04 18:23:06 +00:00
martin
8bdb3bfd79
FpDebug: fix mem leak / cross debug to win32 causes 2 load events for ntdll
...
git-svn-id: trunk@62480 -
2020-01-04 03:00:09 +00:00
martin
98aa637a42
FpDebug: debugln
...
git-svn-id: trunk@62406 -
2019-12-16 23:22:53 +00:00
martin
ce0adcee42
LazDebuggerFp: fix compile with 3.3.1
...
git-svn-id: trunk@62350 -
2019-12-08 03:24:37 +00:00
martin
489625b121
FpDebug, LazDebuggerFp: Implement step to except/finally / step over ignored exception
...
git-svn-id: trunk@62344 -
2019-12-08 00:18:17 +00:00
martin
b34bc4a730
FpDebug, LazDebuggerFp: Implemented OnLibrary(Un)LoadedEvent / Show in event log
...
git-svn-id: trunk@62340 -
2019-12-08 00:18:10 +00:00
martin
9cd1e928d5
FpDebug, LazDebuggerFp: Use FindProc instead of FindContext to get SymbolInfo entries
...
git-svn-id: trunk@62339 -
2019-12-08 00:18:09 +00:00
martin
b206664b05
LazDebuggerFp: Fixed/Workaround an endless loop with auto-continue breakpoints. The new async-stack-eval was not taken into account.
...
git-svn-id: trunk@62319 -
2019-12-03 01:55:29 +00:00
martin
e5f3e33463
LazDebuggerFp: Fix watches evaluation not called, if stack had less than 5 frames. FReqList was not cleared, since "add" happens after "remove" (remove called during create)
...
git-svn-id: trunk@62304 -
2019-11-27 01:52:41 +00:00
martin
33105a74b6
LazDebuggerFp: use GetParamsAsString from FpDebug
...
git-svn-id: trunk@62173 -
2019-11-03 17:05:36 +00:00
mattias
f46c547347
lazdebugger: clean up
...
git-svn-id: trunk@62110 -
2019-10-22 15:10:45 +00:00
martin
93784272ae
FpDebug: Eval threads first. Avoid double refresh of other windows.
...
git-svn-id: trunk@62051 -
2019-10-13 21:52:28 +00:00
martin
e44a64751f
LazDebuggerFp: Improve reaction time to user request next-step/run. If Stack/Watches are still in evaluation then stop them.
...
git-svn-id: trunk@62050 -
2019-10-13 21:52:26 +00:00
martin
bb9f614179
FpDebug: Fix a leak when stopping/reseting the debugger under heavy multithreaded load. (Windows may have queued events, then the next pause may not be the expected ExitProcess, and clean-up is not triggered.
...
git-svn-id: trunk@62032 -
2019-10-11 12:07:16 +00:00
martin
cbe21ff4f3
FpDebug: implement watching bitpacked array/record
...
git-svn-id: trunk@62012 -
2019-10-09 20:06:21 +00:00
martin
f6616221d8
FpDebug: Fix crash on hitting just deleted breakpoint (race condition leads to nil object access)
...
git-svn-id: trunk@62005 -
2019-10-06 22:00:31 +00:00
martin
5ff6c5c0c1
FpDebug: Partial implement WatchPoints.
...
- No local watches yet. Always global scope.
- Break on Write is the same Read/Write
- Info pop up has no old/new value
- No feedback (in some cases) if watch failed to set
git-svn-id: trunk@61990 -
2019-10-05 11:09:49 +00:00
martin
c545425462
LazDebuggerFp: Refactor getting user selected stack/frame into new method GetCurrentThreadAndStackFrame
...
git-svn-id: trunk@61988 -
2019-10-05 11:09:45 +00:00
martin
a631e91e53
FpDebug: rename TFpInternalBreakpointBase into TFpDbgBreakpoint / Make other packages use TFpDbgBreakpoint instead of internal class.
...
git-svn-id: trunk@61987 -
2019-10-05 11:09:44 +00:00
martin
3cb743cac0
LazDebugger: Fix FindContext must run in thread. Fix watches in other stackframes sometimes fail to eval. Broken in r61968 #fa44aa0f0b.
...
git-svn-id: trunk@61984 -
2019-10-05 11:09:39 +00:00
martin
fa44aa0f0b
LazDebuggerFp, FpDebug: Refactor FindContext
...
git-svn-id: trunk@61968 -
2019-10-03 18:38:11 +00:00
martin
3e1d403bae
LazDebuggerFp, FpDebug: Attach and Detach (Windows/Linux)
...
Attach on Linux does not work for apps started with "run without debugging". (Maybe/Probably because the IDE does a separate waitpid on those, and interferes with the waitpid of the debugger?)
git-svn-id: trunk@61967 -
2019-10-03 18:38:10 +00:00
martin
6591981f5f
FpDebug: Fix leak introduced in r61951 #cc3a453334 / missing deref for ValueObject in Locals eval
...
git-svn-id: trunk@61957 -
2019-10-02 11:48:28 +00:00
martin
cc3a453334
FpDebug: Remove circular cache for ValueObject.
...
git-svn-id: trunk@61951 -
2019-09-29 21:43:51 +00:00
martin
495c172050
FpDebug: Remove LastMember for structures (part of circle ref with StructureValue)
...
git-svn-id: trunk@61950 -
2019-09-29 21:43:49 +00:00
martin
2ec08f8a9c
FpDebug: rename TDbgInfo.FindSympol into FindProcSymbol
...
git-svn-id: trunk@61936 -
2019-09-28 19:08:13 +00:00
martin
ac8e91f785
LazDebuggerFp: Enable TypedAddress
...
git-svn-id: trunk@61919 -
2019-09-24 23:36:39 +00:00
martin
ce36789c36
LazDebuggerFp: Improve OnIdle handling
...
git-svn-id: trunk@61893 -
2019-09-16 23:14:19 +00:00
martin
736f8b32fa
LazDebuggerFp: fix debugln
...
git-svn-id: trunk@61837 -
2019-09-08 19:03:06 +00:00
martin
3254177a33
LazDebuggerFp: check correct thread (only top frame) when getting register values
...
git-svn-id: trunk@61836 -
2019-09-08 19:03:05 +00:00
martin
d9731de769
FpDebug, LazDebuggerFp: More debugln for Breakpoints
...
git-svn-id: trunk@61817 -
2019-09-05 20:05:55 +00:00
martin
2fa22bf873
LazDebuggerFp: Fix crash when starting debugger with F7/F8 - Disable them, as they currently do not stop at program entry
...
git-svn-id: trunk@61815 -
2019-09-05 20:05:51 +00:00
martin
e06e1746df
LazDebuggerFp: fix uninitialized var
...
git-svn-id: trunk@61809 -
2019-09-02 14:19:04 +00:00
martin
4e7c7e1842
LazDebuggerFp: correctly eval watches for history snapshots
...
git-svn-id: trunk@61807 -
2019-09-02 00:44:53 +00:00
martin
4db4bc458b
LazDebuggerFp: fix context (crash) during stack eval
...
git-svn-id: trunk@61804 -
2019-09-02 00:44:49 +00:00
martin
c66f2fd121
LazDebuggerFp: Clean up
...
git-svn-id: trunk@61745 -
2019-08-22 21:33:22 +00:00
martin
5a7c9f1487
FpDebug: Refactor class names for TFpDbgValue and TFpDbgSymbol descendants.
...
git-svn-id: trunk@61722 -
2019-08-18 13:43:45 +00:00
martin
3ed45630a0
LazDebuggerFp: slightly faster watch eval.
...
git-svn-id: trunk@61517 -
2019-07-03 18:26:26 +00:00
martin
8874afbe6a
FpDebug/LazDebuggerFp: Refactor logging, use LazLogger for all logging.
...
git-svn-id: trunk@61427 -
2019-06-19 15:26:22 +00:00
martin
209dc36684
LazDebuggerFp: Fix range-check / overflow with bad data.
...
git-svn-id: trunk@60707 -
2019-03-17 02:49:05 +00:00
martin
f4f3307ca9
LazDebuggerFp: Prevent crash when watches are freed, after debugger was destroyed
...
git-svn-id: trunk@60692 -
2019-03-16 02:46:15 +00:00
martin
616069b6b2
LazDebuggerFp: Fix context for evaluate on none existing stackframe
...
git-svn-id: trunk@60357 -
2019-02-07 17:39:06 +00:00
martin
e838d16727
LazDebuggerFp: Fix context for evaluate on higher stack frames (count vs index)
...
git-svn-id: trunk@60356 -
2019-02-07 17:06:10 +00:00
martin
dac68e42e2
FpDebug, LazDebuggerFp: fix last frame in stack list / allow evaluate more frames
...
git-svn-id: trunk@60335 -
2019-02-04 18:26:11 +00:00
martin
af994a75c8
LazDebuggerFp: use dsInternalPause to set/unset breakpoints
...
git-svn-id: trunk@60035 -
2019-01-08 18:42:59 +00:00
martin
e74b00e9dc
LazDebuggerFp: Fix, showing pchar and string version for index access of string/pchar
...
git-svn-id: trunk@59862 -
2018-12-19 01:42:45 +00:00
martin
4315025999
LazDebuggerFp: Implement OnIdle, make debug history being recorded.
...
git-svn-id: trunk@59818 -
2018-12-13 17:09:27 +00:00
martin
6c33c7fc13
LazDebuggerFp: Implement conditional breakpoints / fix nil access
...
git-svn-id: trunk@59815 -
2018-12-13 14:27:51 +00:00
martin
3cffd5e3da
LazDebuggerFp: Implement conditional breakpoints
...
git-svn-id: trunk@59814 -
2018-12-13 12:56:18 +00:00
martin
f4544c2ac8
LazDebuggerFp: Prevent crash, if debugger instance is destroyed before logging is handled.
...
git-svn-id: trunk@59787 -
2018-12-10 23:26:09 +00:00
martin
801ce13eb6
LazDebuggerFp: fix getting exception class/msg for 64bit targets
...
git-svn-id: trunk@59742 -
2018-12-06 20:20:23 +00:00
martin
d5cfafb571
LazDebuggerFp: linux, fix running process-access in debug-thread (needed when accessing outer vars for nested procs, for which stack has not yet been evaluated)
...
git-svn-id: trunk@59696 -
2018-11-29 14:52:08 +00:00
martin
0d4fa259a4
LazDebuggerFp: deal with fpc info for nested procs variable scopes.
...
git-svn-id: trunk@59656 -
2018-11-25 20:01:36 +00:00
martin
895fe14aed
LazDebuggerFp: handle "ignored exceptions" list
...
git-svn-id: trunk@59655 -
2018-11-25 20:00:38 +00:00
martin
d241c5e016
LazDebuggerFp: more nil handling safety
...
git-svn-id: trunk@59608 -
2018-11-19 18:07:28 +00:00