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
2dd36b3cd8
FpDebug: FPC sets some lines to line-num=0 => map them to the next avail line. This will at least be somewhere around the correct location.
...
git-svn-id: trunk@62337 -
2019-12-08 00:18:05 +00:00
martin
f64a5f7d3b
FpDebug: Rewrite of Step-In/Over/Out. Now handle (end-)stepping after leaving current procedure (i.e step to the outer line end, according to "In" or "Over")
...
git-svn-id: trunk@62336 -
2019-12-08 00:18:03 +00:00
martin
751d6dd60d
FpDebug: Start basic detection of frame-base
...
git-svn-id: trunk@62174 -
2019-11-03 17:05:38 +00:00
martin
5f2f41dd34
FpDebug: Allow to create contexct from known ProcSym / Updated TDbgCallstackEntry.GetParamsAsString / Avoid double look-up of proc-symbol
...
git-svn-id: trunk@62172 -
2019-11-03 17:05:35 +00:00
martin
1739434138
FpDebug: fix range check error in FindProcSymbol. (int64 vs qword).
...
git-svn-id: trunk@62138 -
2019-10-28 17:07:04 +00:00
martin
ec3e5b6a07
FpDebug: fix crash on nil-deref.
...
- On Windows FCurrentThread is nil during the ExitProcess event.
- On all platforms CreateThread can (in theory) return nil.
git-svn-id: trunk@62034 -
2019-10-11 12:07:19 +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
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
9b5b0c8db2
FpDebug: Check stackframe for FindContext in range / out of index
...
git-svn-id: trunk@61985 -
2019-10-05 11:09:40 +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
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
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
4137324e48
FpDebug: Check result of ReadThreadState. Do not use invalid data (on windows this lead to nil deref crash)
...
git-svn-id: trunk@61891 -
2019-09-16 21:49:25 +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
cae3f56d05
FpDebug: fixed nil pointer crash when clearing breakpoints, after the debugged app exited.
...
git-svn-id: trunk@61865 -
2019-09-12 15:33:11 +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
876682fc9d
FpDebug: Handle hitting breakpoints, that have been removed while the event was waiting. Still need to re-execute the asm instruction that was hidden by int3
...
git-svn-id: trunk@61839 -
2019-09-08 19:03:09 +00:00
martin
addf952338
FpDebug: Less debugln noise when checking if break exists
...
git-svn-id: trunk@61818 -
2019-09-05 20:05:57 +00:00
martin
d9731de769
FpDebug, LazDebuggerFp: More debugln for Breakpoints
...
git-svn-id: trunk@61817 -
2019-09-05 20:05:55 +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
00417e251e
FpDebug: Fix stackframe evaluation / In some cases (if stack win was closed, when brk-point hit) only the top frame was displayed.
...
git-svn-id: trunk@61806 -
2019-09-02 00:44:52 +00:00
martin
9fedf06c5f
FpDebug: fix context (crash) during stack eval / currently unused code
...
git-svn-id: trunk@61805 -
2019-09-02 00:44:50 +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
8874afbe6a
FpDebug/LazDebuggerFp: Refactor logging, use LazLogger for all logging.
...
git-svn-id: trunk@61427 -
2019-06-19 15:26:22 +00:00
martin
a2744edd0a
FpDebug: clean up
...
git-svn-id: trunk@61420 -
2019-06-18 18:39:24 +00:00
martin
2fe7c631b4
FpDebug: Fix context for register on higher/non-existing stack frames (count vs index) / refactor
...
git-svn-id: trunk@60358 -
2019-02-07 17:40:20 +00:00
mattias
68aeaf0590
fpdebug: clean up
...
git-svn-id: trunk@60347 -
2019-02-06 08:19:51 +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
6f10746551
FpDebug: Fix breakpoint not applied / left over old code
...
git-svn-id: trunk@60213 -
2019-01-25 00:42:50 +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
2bf19a2135
FpDebug: fix removing internal breakpoints / fix crash on remove
...
git-svn-id: trunk@60152 -
2019-01-23 00:49:43 +00:00
martin
a48c9c1b69
FpDebug: More refactor internal breakpoints. Move detection for ResetInstructionPointerAfterBreakpoint into OS classes.
...
git-svn-id: trunk@60142 -
2019-01-22 02:11: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
95d1609a43
FpDebug: add enumerator for threadmap
...
git-svn-id: trunk@60095 -
2019-01-16 22:32:49 +00:00
martin
7ccec4c206
FpDebug: Callstack, adjust to show the current calling line, instead of the line after it. Issue #0034753
...
git-svn-id: trunk@59978 -
2019-01-03 00:12:02 +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
bba050e333
FpDebug: Disable assert, until fixed
...
git-svn-id: trunk@59727 -
2018-12-04 17:12:05 +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
c54639d227
FpDebug: Allow to specify poNewConsole on windows
...
git-svn-id: trunk@59488 -
2018-11-07 23:13:11 +00:00
martin
54445f8381
LazDebuggerFP: fix (stackframe) register for 64bit app / enable watches,locals on selected stackframe
...
git-svn-id: trunk@58200 -
2018-06-09 12:35:00 +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
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
09619c5659
fpdebug: clean up
...
git-svn-id: trunk@57787 -
2018-05-04 10:41:46 +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
joost
1de2cbf586
general: Updated address of the Free Software Foundation in copyright messages
...
git-svn-id: trunk@54031 -
2017-01-29 21:04:32 +00:00
mattias
934d3bae21
fpdebug: fixed typo
...
git-svn-id: trunk@52909 -
2016-09-04 12:18:22 +00:00
martin
0edc9138ee
fpdebugger: fix another Free instead of ReleaseRef
...
git-svn-id: trunk@51580 -
2016-02-10 18:42:51 +00:00
mattias
03c19a6402
fpdebug: fixed TDbgWinProcess.Continue if aThread invalid return false
...
git-svn-id: trunk@50885 -
2015-12-17 22:08:19 +00:00
mattias
3a33b42792
fpdebug: fixed mem leak
...
git-svn-id: trunk@50878 -
2015-12-17 21:57:07 +00:00
mattias
e7ce75b682
fpdebug: using Windows W functions
...
git-svn-id: trunk@50617 -
2015-12-04 19:02:39 +00:00
joost
cfa932781f
FpDebugServer: Show function-parameters in callstack
...
git-svn-id: trunk@49237 -
2015-06-01 20:06:07 +00:00
joost
8d4b6344c0
FpDebugServer: Added basic "evaluate" command
...
git-svn-id: trunk@49166 -
2015-05-25 15:22:59 +00:00
martin
2c1cc645e3
fpdebug: added params to stack
...
git-svn-id: trunk@49123 -
2015-05-20 21:00:18 +00:00
martin
aa537ca865
fpdebug: mem leak
...
git-svn-id: trunk@49087 -
2015-05-18 20:11:46 +00:00
martin
ecf6e6a2a9
fpdebug: fix ebp register for stackframes
...
git-svn-id: trunk@49028 -
2015-05-15 15:03:04 +00:00
martin
44de4b4034
fpdebug: prevent crash if breakpoint at address already exists (can happen if line info is not read correct / generics?)
...
git-svn-id: trunk@49000 -
2015-05-12 20:02:18 +00:00
joost
8f9d2106db
FpDebug: Re-structured the reading of debug-information from multiple files.
...
git-svn-id: trunk@48638 -
2015-04-05 20:08:17 +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
f4818c2bfd
FpDebug: Do not stop on lines with unknown line info (linenr=0)
...
git-svn-id: trunk@47222 -
2014-12-19 10:42:19 +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
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
25ff00e44c
FpDebugger (pure): Solved mem-leaks by releasing references to symbols found by FindSymbol
...
git-svn-id: trunk@46132 -
2014-09-05 16:49:36 +00:00
joost
851695cec4
FpDebugger (native): Fix for setting a breakpoint on the current execution-point
...
git-svn-id: trunk@46122 -
2014-09-03 20:16:53 +00:00
joost
d28ad93b73
fpDebug: Revert of files accidentally committed in r46119 #afc3882ca7
...
git-svn-id: trunk@46120 -
2014-09-03 14:44:07 +00:00
joost
afc3882ca7
FpDebug: Disabled range-checking to fix range-check error. The fix in r46105 #bbf07c5bd6 leads to a datastructure which is too large for 32 bit
...
git-svn-id: trunk@46119 -
2014-09-03 14:39:44 +00:00
joost
ddfbd6ade9
FpDebugger (pure): Fixed mem-leak bij freeing debug-threads
...
git-svn-id: trunk@46102 -
2014-09-01 16:26:08 +00:00
joost
bdbccce289
FpDebugger (pure): Use a pseudo-terminal instead of pipes to read the debuggees out- and in-put
...
git-svn-id: trunk@46070 -
2014-08-24 12:22:23 +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
c43ebefc0f
FpDebugger (pure): - Fixed problem with the recognition of a software breakpoint when a hardware breakpoint has been triggered on the same location
...
- Ability to check if and which hardware brakpoint has been triggered
git-svn-id: trunk@46006 -
2014-08-03 20:09:46 +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
113cc6e509
FpDebugger (pure): Show warning when there is no Dwarf-debug information available
...
git-svn-id: trunk@45843 -
2014-07-12 15:40:00 +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
8f433367c7
FpDebugger (pure): Use a TFPGObjectList to free the items. Fixes several mem-leaks
...
git-svn-id: trunk@45779 -
2014-07-04 20:11:51 +00:00
joost
982f401425
FpDebugger (pure): Cleanup unused variables
...
git-svn-id: trunk@45778 -
2014-07-04 20:00:08 +00:00
joost
64a67e7166
FpDebugger (pure): Fix for getting the frame- and instruction-pointer from the callstack on architectures other then i386
...
git-svn-id: trunk@45777 -
2014-07-04 19:26:26 +00:00
joost
0fac0512c8
FpDebug (pure): Fix for format-parameters in error-message
...
git-svn-id: trunk@45775 -
2014-07-04 19:13:35 +00:00
joost
5f0402b4c2
FpDebug (pure): Added Linux-support
...
git-svn-id: trunk@45732 -
2014-06-29 20:55:54 +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
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
51c0c59b2b
FpDebug (pure): Changes for cross-debugging
...
git-svn-id: trunk@45315 -
2014-06-03 06:15:08 +00:00
joost
f81a1f3ea6
LazDebuggerFp (pure): Read macho-64 binaries
...
git-svn-id: trunk@45173 -
2014-05-25 16:38:40 +00:00
joost
61775433a1
FpDebugger (pure): Pause on fpc software-breakpoints
...
git-svn-id: trunk@45146 -
2014-05-22 07:41:01 +00:00
joost
69a51cde62
FpDebug: Read the symbol-table on OS/X
...
git-svn-id: trunk@45038 -
2014-05-14 20:21:22 +00:00
martin
87080f5081
FpDebugger (pure): function name in stack
...
git-svn-id: trunk@44989 -
2014-05-10 02:01:14 +00:00
martin
3a712955ca
FpDebugger (pure): eval watches for selected stackframe
...
git-svn-id: trunk@44987 -
2014-05-10 00:44:49 +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
c700bfe172
LazDebuggerFp (pure): Implemented basic callstack
...
git-svn-id: trunk@44906 -
2014-05-04 12:08:50 +00:00
joost
e7779bd476
LazDebuggerFp (pure): Implemented step-into
...
git-svn-id: trunk@44862 -
2014-04-30 20:44:22 +00:00
martin
1af2bd99a6
FpDebug: fix compile / range check for const
...
git-svn-id: trunk@44853 -
2014-04-30 13:18:53 +00:00
joost
36e6e3a257
LazDebuggerFp (pure): Implemented step-out
...
git-svn-id: trunk@44804 -
2014-04-24 16:06:50 +00:00