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
joost
22e7389619
FpDebugger (pure): Refactored creation of new TDbgThreads
...
git-svn-id: trunk@45407 -
2014-06-08 18:59:06 +00:00
joost
d3edca108f
FpDebugger (pure): Fixed the handling of a debuggee that starts child-processes
...
git-svn-id: trunk@45391 -
2014-06-08 00:13:50 +00:00
joost
3fb55d6ed6
FpDebug (pure): Added thread-safe loggingsystem with three log-levels. The log-levels dllInfo and dllError are used to show messages/errors in the ide.
...
The new log-system is used to show a message when there is no dSym-bundle with Dwarf-debug info or if the ide has not enough rights to debug applications. (OS/X)
git-svn-id: trunk@45382 -
2014-06-07 14:27:48 +00:00
joost
b526979d64
FpDebugger (pure): Removed excessive debug-output.
...
git-svn-id: trunk@45292 -
2014-06-01 19:46:06 +00:00
joost
f25dee1d51
LazDebuggerFp (pure): Exception handling. (no software exceptions)
...
git-svn-id: trunk@44970 -
2014-05-07 18:32:50 +00:00
joost
31762452ae
LazDebuggerFp (pure): Handle working-directory and environment of debuggee
...
git-svn-id: trunk@44936 -
2014-05-06 19:25:38 +00:00
joost
04283997b4
LazDebuggerFp (pure): Pass arguments to debuggee
...
git-svn-id: trunk@44928 -
2014-05-05 20:15:42 +00:00
joost
e7779bd476
LazDebuggerFp (pure): Implemented step-into
...
git-svn-id: trunk@44862 -
2014-04-30 20:44:22 +00:00
joost
36e6e3a257
LazDebuggerFp (pure): Implemented step-out
...
git-svn-id: trunk@44804 -
2014-04-24 16:06:50 +00:00
joost
056bfcfe4b
LazDebuggerFp (pure): When stepping(over) out of a procedure, continue until a new sourceline has been reached.
...
git-svn-id: trunk@44799 -
2014-04-23 21:00:42 +00:00
joost
577f7954bb
LazDebuggerFp (pure): * Raise exception when Stop is called on a non-existing process
...
* Solved some problems wih logging
git-svn-id: trunk@44791 -
2014-04-23 07:49:12 +00:00
joost
e1881c3f4c
LazDebuggerFp (pure): Implemented RunTo
...
git-svn-id: trunk@44768 -
2014-04-20 11:00:33 +00:00
joost
a69e382e98
LazDebuggerFp (pure): Ability to pause debuggee (Windows)
...
git-svn-id: trunk@44749 -
2014-04-16 20:19:13 +00:00
joost
86f9de7b2a
LazDebuggerFp (pure):
...
* When a breakpoint is hit, pass the correct breakpoint to the TFpDebugDebugger.
* Solve an AV when the IDE exits
git-svn-id: trunk@44743 -
2014-04-16 09:15:10 +00:00
joost
acecc4a260
LazDebuggerFp (pure): Implemented step-over (next)
...
git-svn-id: trunk@44737 -
2014-04-15 19:22:01 +00:00
joost
22b80b3cf5
LazDebuggerFp (pure): StepIntoStr -> StepIntoInstr
...
git-svn-id: trunk@44728 -
2014-04-14 16:59:05 +00:00
joost
ae35141581
LazDebuggerFp (pure): Implemented StepOverInstr
...
git-svn-id: trunk@44725 -
2014-04-14 16:39:35 +00:00
joost
0e62389d08
LazDebuggerFp (pure): Fixed single-stepping which was broken since r44690 #14698396ff
...
git-svn-id: trunk@44703 -
2014-04-12 16:19:20 +00:00
joost
14698396ff
LazDebuggerFp (pure): Fixed AV on Windows
...
git-svn-id: trunk@44690 -
2014-04-11 21:13:20 +00:00
joost
98f4a08663
LazDebuggerFp (pure): Fixed single-stepping on OS/X
...
git-svn-id: trunk@44685 -
2014-04-11 20:06:36 +00:00
joost
67f3dec675
LazDebuggerFp (pure): Removed obsolete TFPDState
...
git-svn-id: trunk@44673 -
2014-04-11 09:25:29 +00:00
joost
52282ede03
LazDebuggerFp (pure): Implemented single-stepping (assembly level) and resetting of a breakpoint after it has been hit. (Windows)
...
git-svn-id: trunk@44670 -
2014-04-10 20:11:41 +00:00
martin
244cdad9cd
FpDebug: nil after free
...
git-svn-id: trunk@44648 -
2014-04-08 14:46:50 +00:00
martin
15754fca9a
LazDebuggerFp (pure): add line info
...
git-svn-id: trunk@44646 -
2014-04-08 13:35:38 +00:00
joost
0341bfb4de
FpDebug: Don not pause debugging after a library has been loaded
...
git-svn-id: trunk@44618 -
2014-04-06 13:41:27 +00:00
joost
d50b62d2dc
FpDebug:
...
* Added TDbgController class to FpDebug to make it easiear
to implement a debugger.
* Added the package LazFpDebug, which registers a new
debugger into the IDE that uses FpDebug to debug applications.
git-svn-id: trunk@44606 -
2014-04-05 08:07:24 +00:00