Commit Graph

156 Commits

Author SHA1 Message Date
Martin
26263f5f4e FpDebug: Fix "step out" finished early, in recursive code (end inside current call, at line of recursive call)
- After fixing "IsAtHiddenBreak" (check frame is *outside* ) there is no need for "if IsAtOrOutOfHiddenBreakFrame then"
2023-05-26 14:05:16 +02:00
Martin
cac376d0f9 LazDebuggerFp, FpDebug: Fix watch-function-call when debuggee has crashed. Prevent the function call 2023-03-13 12:32:30 +01:00
Martin
42ae1a7765 LazDebuggerFp, FpDebug: deal with process-exit while watch-eval-function-call 2023-03-13 12:32:29 +01:00
Martin
db27ef882d FpDebug: clean up compile hints 2023-03-12 22:34:28 +01:00
Martin
04b384b34d FpDebug: Set breakpoints in libraries (dll/so). Update existing breakpoints when library is loaded. Add state (ok, fail, pending) to breakpoints. 2023-02-16 16:39:03 +01:00
Martin
d99e76636d FpDebug: fix storing "step info" (symbol/line at PC) 2023-01-09 16:46:53 +01:00
Martin
3ebada48d3 FpDebug: Allow more params passed to function in watch-function-eval 2022-09-23 20:28:20 +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
db69b34e2a FpDebug: Fixes for watch-function-eval: allow function to recursively enter itself. 2022-09-10 18:01:36 +02:00
Martin
0bdae9fa28 FpDebug: fix crash in stack after "watch eval" call. Don't clear stack data. 2022-09-09 22:56:08 +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
Martin
d0d616e131 FpDebug: keep CurrentContext during function-eval calls. (access by other threads) 2022-07-13 10:27:47 +02:00
Martin
9e67808d84 LazDebuggerFp: improve errors for function calling 2022-07-01 01:06:08 +02:00
Martin
0429c822c1 LazDebuggerFp: debugln for function calling (watch-eval) 2022-06-30 02:30:15 +02:00
Martin
2d7b1138f4 FpDebug: allow function calls on Linux-32bit 2022-06-29 17:42:08 +02:00
Martin
f606986f1b LazDebuggerFp, FpDebug: Enable watch-eval calling functions with records as param (Win-64/32 / Linux-64) 2022-06-21 00:29:07 +02:00
Martin
b014798858 LazDebuggerFp, FpDebug: Enable watch-eval calling function with strings as param/result (only DWARF 3 / up) 2022-06-21 00:29:07 +02:00
Martin
63a6ce4f32 FpDebug: added IFDEF $INLINE OFF 2022-06-21 00:06:04 +02:00
Martin
ae8bbb1cd6 FpDebug: Refactor TFpDbgInfoCallContext (add "AddParam" / remove Dbg-Process from "CreateParamSymbol") 2022-06-21 00:06:04 +02:00
Martin
0e6769ac99 FpDebug, LazDebuggerFp: Implement tracking modified CPU registers (top stack-frame only) 2022-02-25 20:25:01 +01:00
Martin
2333696004 FpDebug: Ensure internal breakpoint is freed, if cmd is finished. Add asserts 2022-02-10 23:30:23 +01:00
Joost van der Sluis
4e4c402b62 FpDebug: Remove breakpoints bound to a specific library when this library gets unloaded 2021-12-23 00:32:41 +01:00
Joost van der Sluis
124083f794 FpDebug: Do not crash on unrecognized binary-formats 2021-12-10 17:57:07 +01:00
Martin
5c22ff5ad2 FpDebug: Fix stepping does not stop at next line (seen on Win7 only / Maybe issue #39383).
When checking if a step-in/over returned from going over a called proc (using the hidden-break), do not trust the BasePointer.
2021-12-10 00:29:26 +01:00
Martin
e618b09804 LazDebuggerFp: Fix Stepping and threads / Ensure loop exits with correct EventType 2021-12-09 18:17:56 +01:00
Joost van der Sluis
b9b35b4252 FpDebug: Set the TDbgImageReader.LoadedTargetImageAddr at creation, or else parts might already been read when it is set. 2021-12-08 00:43:17 +01:00
Martin
7534833eb6 FpDebug: Fixed passing dangling pointer. (Currently not used by LazDebuggerFp when doing deExitProcess) 2021-12-07 15:41:58 +01:00
Martin
07e3817870 FpDebug: fix mem leak. Libraries were not freed on Unload. 2021-12-06 00:40:25 +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
f49b54bae5 FpDebug: add a few missing "const" for params 2021-11-14 15:36:41 +01:00
ccrause
4055d9420b Consolidated parameters for TDbgProcess.Create, StartInstance and AttachToInstance. 2021-11-06 14:23:31 +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
martin
b5bf7de6f9 FpDebug, Windows: Forward OutputDebugString to IDE.
git-svn-id: trunk@65475 -
2021-07-19 18:17:06 +00:00
martin
6661f86edd Debugger: allow to force lazloggerbase via define
git-svn-id: trunk@65227 -
2021-06-14 07:30:45 +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
joost
fe6e63ed13 FpDebug: Handle signals during function-calls
git-svn-id: trunk@65130 -
2021-05-24 22:15:35 +00:00
mattias
65e16d03fb fpdebug: less hints
git-svn-id: trunk@64686 -
2021-02-28 08:52:37 +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
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
bc13e22021 FpDebug: fix opening files with utf8 name on windows / prevent crash in trying to create filehandle, when an exception occurs. Issue #37884
git-svn-id: trunk@63978 -
2020-10-08 20:58:14 +00:00
joost
539c1f9a2b FpDebug: Renamed TFpDbgHardcodedContext to TFpDbgHardcodedScope
git-svn-id: trunk@63899 -
2020-09-20 19:21:53 +00:00
martin
1a08e0ba34 FpDebug: Fix Step-Into - sometimes would step before the end of statement. This happened if a nested call was single step, and a "ret" statement encountered. The "ret" (in the nested) was attributed to the outer code, wrongly indicating the command "stepped out".
git-svn-id: trunk@63862 -
2020-09-03 16:32:27 +00:00
martin
d279fb5a4a FpDebug: Move "uses" (ensure register) of imagereader classes from controller to DbgInfo (not all apps use a controller)
git-svn-id: trunk@63821 -
2020-08-24 11:19:20 +00:00
martin
54e4b88848 FpDebug: remove circular unit references
git-svn-id: trunk@63819 -
2020-08-23 22:57:41 +00:00
martin
953c9964f8 FpDebug: make more string params "const foo :string"
git-svn-id: trunk@63810 -
2020-08-22 20:27:14 +00:00
martin
c4d125495e FpDebug: Fix Controller.Call / wrong type for context param
git-svn-id: trunk@63794 -
2020-08-19 19:14:33 +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
joost
a733105c1c fpDebug: Ability to do simple function-calls
git-svn-id: trunk@63751 -
2020-08-16 10:20:37 +00:00
martin
838de9a502 FpDebug: Ensure PauseRequest calls break handler. On Linux Process.Pause does not trigger an PausedAtHardcodedBreak
git-svn-id: trunk@63597 -
2020-07-18 23:22:38 +00:00