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
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
69d200ec8d
FpDebug: check if running before scheduling a pause signal (needed so pause can be called when ProcessLoop is not running / but also checks if the loop does a lot of deInternalContinue
...
git-svn-id: trunk@61966 -
2019-10-03 18:38:08 +00:00
martin
9b5a4935a0
FpDebug: fix wrong type for bound-symbol fields / Enable TypedAddress
...
git-svn-id: trunk@61918 -
2019-09-24 23:36:37 +00:00
martin
52a25d352c
FpDebug: move ...Command.Init into the thread. In case it needs to access process data.
...
git-svn-id: trunk@61883 -
2019-09-15 13:22:01 +00:00
martin
618ad4ba32
FpDebug: Fix stepping over an breakpoint that continues (condition/auto-continue/...) / Fix stepping over recursive calls
...
git-svn-id: trunk@61882 -
2019-09-15 13:22:00 +00:00
martin
533670667b
FpDebug: Stepping commands, refactor (partly) detection of "call" instruction.
...
git-svn-id: trunk@61881 -
2019-09-14 14:33:10 +00:00
martin
48f15f849d
FpDebug: Stepping commands, refactor HiddenBreakpoint:
...
- Move to base-class
- No need to check for other breakpoints (fpdebug can now handle several brk at same address)
- Stop step-out, if break failed to set
git-svn-id: trunk@61880 -
2019-09-14 14:33:09 +00:00
martin
c5fe550fbe
FpDebug: Stepping commands, set Handled = Finished => so the loop will end if a step is done
...
git-svn-id: trunk@61878 -
2019-09-14 14:27:48 +00:00
martin
c7fae55176
FpDebug: fix flag for breakpoint
...
git-svn-id: trunk@61874 -
2019-09-14 14:27:42 +00:00
martin
151412f007
FpDebug: improve stepping.
...
Refactor: Capture initial data before DoContinue
Fix/Improve: Only check and continue the thread that is stepped / Make HiddenBreakpoint hidden from the rest of the controller.
git-svn-id: trunk@61873 -
2019-09-14 14:27:41 +00:00
martin
f17b2727f4
FpDebug: re-arrange order of some classes
...
git-svn-id: trunk@61872 -
2019-09-14 14:27:39 +00:00
martin
85a2eb7321
FpDebug: fixed uninitialized var, could prevent debugger from stopping when app exits
...
git-svn-id: trunk@61869 -
2019-09-13 12:09:32 +00:00
martin
df6722dd5f
FpDebug: Ensure that exit thread aborts any running command. (The command may change the event-enum-code in FPDEvent, and try to continue running)
...
git-svn-id: trunk@61864 -
2019-09-12 15:33:09 +00:00
martin
304f6e7be9
FpDebug: Fix requesting process to pause, broken in r61840 #ece9967721
...
git-svn-id: trunk@61845 -
2019-09-08 23:33:01 +00:00
martin
ece9967721
FpDebug: Keep the loop running, if internal stepping causes deBreakPoint without actually hitting a breakpoint. Required because now there can be several such singlesteps in one iteration of the loop.
...
git-svn-id: trunk@61840 -
2019-09-08 19:03:11 +00:00
martin
c86c8d65e6
FpDebug: reduce logged errors for messages that are expected (cannot write to terminated process)
...
git-svn-id: trunk@61816 -
2019-09-05 20:05:54 +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
88aca89865
FpDebug: More refactor internal breakpoints. More control to OS classes. Improve stopping other threads on Linux
...
git-svn-id: trunk@60160 -
2019-01-23 21:28:44 +00:00
martin
ba83c710cd
FpDebug: Start refactor internal breakpoints. Prepare to allow several breakpoints set at the same address.
...
git-svn-id: trunk@60123 -
2019-01-20 19:09:46 +00:00
martin
4d203a087c
LazDebuggerFp: Fix, Step-over did not stop, if an "auto-continue/none-break" breakpoint was encountered at the end of the step. Fix last commit
...
git-svn-id: trunk@59817 -
2018-12-13 16:12:04 +00:00
martin
88767bcd81
LazDebuggerFp: Fix, Step-over did not stop, if an "auto-continue/none-break" breakpoint was encountered at the end of the step. (the auto continue took priority over the end-of-step)
...
git-svn-id: trunk@59816 -
2018-12-13 15:16:32 +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
84e5ae329a
FpDebug: Workaround for dangling thread object
...
git-svn-id: trunk@59551 -
2018-11-15 22:41:07 +00:00
martin
80defc9157
FpDebug: workaround, prevent loosing the main process, if child processes are created. The Controller needs overall rework to handle multiple attached processes.
...
git-svn-id: trunk@59546 -
2018-11-15 16:41:46 +00:00
martin
1b9614bd52
FpDebug: fixed a memory leak, when the debugged process forked child processes.
...
git-svn-id: trunk@59525 -
2018-11-11 23:09:44 +00:00
martin
c54639d227
FpDebug: Allow to specify poNewConsole on windows
...
git-svn-id: trunk@59488 -
2018-11-07 23:13:11 +00:00
joost
3f08871ce8
fpdebug: Fixed compilation with verbose debugging
...
git-svn-id: trunk@58416 -
2018-06-26 21:40:16 +00:00
joost
abe6b86bb0
fpdebug: implemented step-out
...
git-svn-id: trunk@58218 -
2018-06-10 21:03:29 +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
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
c946f67b86
FPDebugger: Prevent "internal events" (in debug loop) from changing the debugger state. In case of "QuickPause" the flag gets cleared, and the real quick-pause event causes the target to be fully paused. (pause/asm-win, when setting breakpoint while running -> win32 interrupt causes new thread) // TODO: LoadLibrary may have the same issue
...
git-svn-id: trunk@57779 -
2018-05-03 18:36:02 +00:00
mattias
e7ce75b682
fpdebug: using Windows W functions
...
git-svn-id: trunk@50617 -
2015-12-04 19:02:39 +00:00
joost
0738480a91
FpDebug: Fixed mem-leak when application closes while debugee is still running
...
git-svn-id: trunk@48928 -
2015-05-05 07:59:15 +00:00
joost
28faa771f6
FpDebug: The reason why a run failed is not debug information, but real information.
...
git-svn-id: trunk@48927 -
2015-05-05 07:57:01 +00:00
joost
0923ac9836
FpDebug: - Ability to disable usage of a pseudo-tty
...
- Ability to supply tty to bind standard input/output to
git-svn-id: trunk@48450 -
2015-03-22 01:08:00 +00:00
joost
bee90dd030
FpDebugger (pure): Same change as in r46136 #4b8e6daa2f, but for step into, to avoid problems in fpc-generated debuginfo
...
git-svn-id: trunk@46162 -
2014-09-08 19:44:13 +00:00
joost
2725568fae
FpDebug: Give a warning when the UUID of the dSym-bundle and the debuggee do not match
...
git-svn-id: trunk@46149 -
2014-09-07 11:25:34 +00:00
joost
2d61f083f6
FpDebugger (pure): When stepping out of a function on a next, only stop at the first instruction of a line. Just like it is done on step into.
...
git-svn-id: trunk@46147 -
2014-09-06 20:50:12 +00:00
joost
9070ac0b2c
FpDebugger (pure): Added logging, enable with define DBG_FPDEBUG_VERBOSE
...
git-svn-id: trunk@46143 -
2014-09-06 18:40:30 +00:00
joost
4b8e6daa2f
FpDebugger (pure): On a next, only stop if the current instruction is the first instruction of a line. This is to solve a problem in fpcs debuginfo.
...
git-svn-id: trunk@46136 -
2014-09-05 20:37:43 +00:00
joost
9c5f82c924
FpDebugger (pure): Fixed mem-leak by freeing FProcessMap
...
git-svn-id: trunk@46101 -
2014-09-01 15:45:36 +00:00
joost
daaa427f54
FpDebugger (pure): Re-direct console output to the terminal-output debug window on Linux
...
git-svn-id: trunk@46058 -
2014-08-22 15:47:46 +00:00
joost
93aea56c3b
FpDebugger (pure): New heuristics for step-into
...
git-svn-id: trunk@46008 -
2014-08-04 08:14:13 +00:00
joost
be7b70f172
FpDebugger (pure): Re-wrote RunTo using a TDbgControllerCmd
...
git-svn-id: trunk@45900 -
2014-07-17 18:53:58 +00:00
joost
e5f73f7d0f
FpDebuger (pure): Fix for pausing the debuggee
...
git-svn-id: trunk@45866 -
2014-07-14 20:28:34 +00:00
joost
eaf0dffc07
FpDebugger (pure): Make step-into work even without having watchpoints available. (Even though it will be slow)
...
git-svn-id: trunk@45851 -
2014-07-13 10:24:03 +00:00
joost
600fc1036c
FpDebugger (pure): Let the memory-manager read memory from within the debugging-thread on Linux.
...
More fixes for getting the instruction-register on x86_64
Fixxed setting the line-info on Darwin and Linux
git-svn-id: trunk@45817 -
2014-07-08 21:15:04 +00:00
joost
4171928dd9
LazDebuggerFp (pure): Improved handling of step-over/into-line, when a library is loaded, a breakpoint is hit or when stepping out of a procedure.
...
git-svn-id: trunk@45595 -
2014-06-21 19:10:03 +00:00
joost
843f23eafd
LazDebuggerFp (pure): Rewrote/refactored ResolveDebugEvent. As much as possible code moved from the os-specific classes to the general classes. Now TDbgProcess and TDbgThread only handle single-stepping and the handling of breakpoints and exceptions. Other commands (like step-line, step-into-line etc) are implemented as childs of TDbgControllerCmd. All specific handling is done in those classes.
...
git-svn-id: trunk@45590 -
2014-06-20 15:22:45 +00:00