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
martin
96fdbb9d93
LazDebuggerFp: Fix crash, if string read from debugged app is nil / debugged app exception info
...
git-svn-id: trunk@59607 -
2018-11-19 17:48:12 +00:00
martin
2cace808be
LazDebuggerFp, FpDebug: (windows only) implemented switching threads while paused. (On Linux only one thread is currently paused, so switching is not possible)
...
git-svn-id: trunk@59571 -
2018-11-17 14:16:09 +00:00
martin
37e86f2e05
LazDebuggerFp: fix missing result for dcPause
...
git-svn-id: trunk@59568 -
2018-11-17 12:35:51 +00:00
martin
f275a9445c
LazDebuggerFp: return typeinfo for watches
...
git-svn-id: trunk@59558 -
2018-11-16 13:18:28 +00:00
martin
a67ceac77f
LazDebuggerFp: added auto-typecast for objects (watches, inspect / not working for hints)
...
git-svn-id: trunk@59556 -
2018-11-16 11:13:43 +00:00
martin
84e5ae329a
FpDebug: Workaround for dangling thread object
...
git-svn-id: trunk@59551 -
2018-11-15 22:41:07 +00:00
martin
9daf9a9f45
LazDebuggerFp: Fix/Implement "Reset Debugger" / Refactor: Use LockRelease from base class.
...
git-svn-id: trunk@59521 -
2018-11-11 21:14:00 +00:00
martin
e31e672112
LazDebuggerFp: fix mem leaks in logging code.
...
git-svn-id: trunk@59511 -
2018-11-11 18:27:22 +00:00
martin
c54639d227
FpDebug: Allow to specify poNewConsole on windows
...
git-svn-id: trunk@59488 -
2018-11-07 23:13:11 +00:00
mattias
1fb0143559
lazdebuggers: less hints
...
git-svn-id: trunk@59214 -
2018-10-01 15:13:00 +00:00
martin
b3d8d81fe7
Debugger: let the debugger request certain compiler opts (eg: needs dwarf, or external info)
...
git-svn-id: trunk@58680 -
2018-08-05 13:05:21 +00:00
martin
9f8beba93e
Debugger: let the debugger request certain compiler opts (eg: needs dwarf, or external info)
...
git-svn-id: trunk@58679 -
2018-08-05 12:26:21 +00:00
martin
0e9f870052
FpDebug: Fix crash, due to memmanager not initialized
...
git-svn-id: trunk@58503 -
2018-07-13 15:21:30 +00:00
martin
5d541aec27
DebuggerIntf: Watches can now be created in Updating state. Allowing to bundle change notifications for the debugger backend.
...
git-svn-id: trunk@58465 -
2018-07-08 20:51:00 +00:00
martin
e23fd4d433
fp debugger: event log for breakpoint hit
...
git-svn-id: trunk@58434 -
2018-07-03 14:55:45 +00:00
martin
fdb9c0806b
fp + fp lldb: allow external DebugInfo on MacOs
...
git-svn-id: trunk@58406 -
2018-06-25 17:58:46 +00:00
martin
7268f484b5
FpDebugger: fix refreshing thread window when stepping
...
git-svn-id: trunk@58313 -
2018-06-18 20:24:22 +00:00
martin
cef14db081
DebuggerIntf: Refactor, evaluate now takes a callback
...
git-svn-id: trunk@58238 -
2018-06-12 22:58:35 +00:00
joost
52df2b872b
fpdebug: Fixed mem-leak and do not show threads when not running
...
git-svn-id: trunk@58161 -
2018-06-06 21:13:16 +00:00
joost
317bc74ea3
fpdebug: Fill the IDE's list of threads
...
git-svn-id: trunk@58146 -
2018-06-05 20:44:25 +00:00
joost
3d621d07cc
fpdebug: FpDebug is not in Alpha state anymore
...
git-svn-id: trunk@58129 -
2018-06-04 21:59:02 +00:00
joost
1f5eb8d171
fpdebug: Improved handling of threads, removed several assumptions that the main-thread was being debugged
...
git-svn-id: trunk@58128 -
2018-06-04 21:52:32 +00:00
mattias
4354b305be
lazdebuggers: less hints
...
git-svn-id: trunk@57789 -
2018-05-04 10:42:40 +00:00
martin
135655e435
fpdebug: fix crash on linux
...
git-svn-id: trunk@57784 -
2018-05-03 19:37:19 +00:00
martin
ee449027d9
fpdebug: fix compile on linux
...
git-svn-id: trunk@57783 -
2018-05-03 19:25:09 +00:00
martin
5562c074da
IDE, fpDebug, Debuggers: Deal with source lines that have more than one address (e.g. generics). fpDebug: set breakpoints at all addresses of a line.
...
git-svn-id: trunk@57782 -
2018-05-03 18:52:41 +00:00
martin
75193aadbe
LazDebuggerFP: Fix logging. Accessing Application.QueueAsync from thread caused leaks
...
git-svn-id: trunk@57780 -
2018-05-03 18:41:06 +00:00
martin
20e4fc2e10
fpdebbugger: fix releasing context / revision 50963 #b5434dee75
...
git-svn-id: trunk@51579 -
2016-02-10 18:25:24 +00:00
mattias
eda918198b
lazdebuggers: fixed crash if watchlist empty, bug #29238 from Anton
...
git-svn-id: trunk@50999 -
2015-12-22 22:43:21 +00:00
mattias
b5434dee75
fpdebug: fixed mem leaks, bug #29227 patch from Anton
...
git-svn-id: trunk@50963 -
2015-12-21 14:48:56 +00:00
martin
fe30e47f9b
fpdebug: added params to stack (fixed for frames without context)
...
git-svn-id: trunk@49132 -
2015-05-22 14:48:42 +00:00
martin
2c1cc645e3
fpdebug: added params to stack
...
git-svn-id: trunk@49123 -
2015-05-20 21:00:18 +00:00
martin
eb15eb559f
fpdebug: fix crash on pause (missing callstack)
...
git-svn-id: trunk@49099 -
2015-05-18 22:52:38 +00:00