Commit Graph

234 Commits

Author SHA1 Message Date
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
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
a8ea2fde98 LazDebuggerFp (pure): Use the ProcessID to detect if a process is finished, because the Handle is not used on OS/X
git-svn-id: trunk@44790 -
2014-04-23 07:21:22 +00:00
joost
fc35f675bc LazDebuggerFp (pure): Resolved problems with freeing breakpoints after the debuggee has ended.
git-svn-id: trunk@44771 -
2014-04-20 19:39:35 +00:00
joost
87bfbf6372 LazDebuggerFp (pure): Removed unused FBreakList
git-svn-id: trunk@44770 -
2014-04-20 17:59:44 +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
a52defb4e1 LazDebuggerFp (pure): Ability to add/delete/enable/disable breakpoints when the debuggee is not running or paused.
git-svn-id: trunk@44741 -
2014-04-16 08:05:58 +00:00
joost
acecc4a260 LazDebuggerFp (pure): Implemented step-over (next)
git-svn-id: trunk@44737 -
2014-04-15 19:22:01 +00:00
joost
ae35141581 LazDebuggerFp (pure): Implemented StepOverInstr
git-svn-id: trunk@44725 -
2014-04-14 16:39:35 +00:00
joost
8f5701ed19 LazDebuggerFp (pure): Hide software breakpoints (int3) on reading data
git-svn-id: trunk@44704 -
2014-04-12 16:24:46 +00:00
joost
c7e539dc46 LazDebuggerFp (pure): Added reading of register support to TDbgMemReader.
git-svn-id: trunk@44689 -
2014-04-11 21:10:34 +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
joost
499c7ed593 LazDebuggerFp (pure): Show register-values on OS/X
git-svn-id: trunk@44658 -
2014-04-09 08:25:46 +00:00
martin
15754fca9a LazDebuggerFp (pure): add line info
git-svn-id: trunk@44646 -
2014-04-08 13:35:38 +00:00
martin
f3e4622b30 LazDebuggerFp (pure): do not crash with -gtt
git-svn-id: trunk@44634 -
2014-04-07 16:49:40 +00:00
joost
ae8c35b16e FpDebug: Removed old, invalid assertion whose meaning is lost in time...
git-svn-id: trunk@44633 -
2014-04-07 16:40:09 +00:00
joost
813e158c7d FpDebug: Fixed compilation after recent changes and with fpc 2.6.2
git-svn-id: trunk@44632 -
2014-04-07 16:34:55 +00:00
joost
2a7b0ee37e FpDebug:
* Implemented basic TFpDbgMemReader. It handles reading memory, reading register values is still not implemented
 * Implemented very basic evaluation of watches.

git-svn-id: trunk@44630 -
2014-04-07 09:23:40 +00:00
joost
0eaa8042c5 FpDebug: Basic support for getting register-values.
git-svn-id: trunk@44626 -
2014-04-06 19:13:38 +00:00
martin
5df27a9624 FpDebug: renamed dwarf classes, more unified names
git-svn-id: trunk@44624 -
2014-04-06 16:27:37 +00:00
joost
1c21a9a593 FpDebug: REmoved unused BaseAddr and StartAdd for threads.
git-svn-id: trunk@44622 -
2014-04-06 14:52:28 +00:00
joost
6a13624f76 * Use TProcess to start debuggee, since it handles stuff like stdin/out, environment variables and such
* Ability to kill debuggee
 * Resolve location of dSym bundle of application-bundles properly

git-svn-id: trunk@44560 -
2014-03-30 20:28:32 +00:00
joost
2cb000b1be * Added OnLog event to be able to log to something else then stdout
git-svn-id: trunk@44551 -
2014-03-29 19:27:11 +00:00
joost
3f36dd3c53 FpDbg: Implemented single-stepping on Darwin
git-svn-id: trunk@44500 -
2014-03-23 20:54:32 +00:00
joost
c8e074d4ef FpDbg: Refactored handling of breakpoints, so that parts of the code could be used too on other platforms then Windows
FpDbg: Set the FMainThread variable after the main-thread is created, not before. This fixes the handling of breakpoints.

git-svn-id: trunk@44445 -
2014-03-16 12:50:45 +00:00
joost
6974915b8b FpDbg: Moved Windows-specific code to terminate the process to fpdbgwinclasses.pas
git-svn-id: trunk@44437 -
2014-03-16 10:33:04 +00:00
joost
eba8717294 * Moved Windows-specific code to read the instruction-pointer and base stack pointer register values to fpdbgwinclasses.pas
git-svn-id: trunk@44436 -
2014-03-16 10:18:06 +00:00
joost
c20f74439d * Implemented basic debug-support for Darwin
git-svn-id: trunk@44413 -
2014-03-12 21:35:06 +00:00
joost
607af213ac FpDbg: Refactored code to get module-name, to avoid double code for processes and libraries.
git-svn-id: trunk@44387 -
2014-03-09 12:00:55 +00:00
joost
4b3ae8e4bd * Moved more Windows-specific code from fpdloop to fpdbgwinclasses.
git-svn-id: trunk@44385 -
2014-03-09 10:22:34 +00:00
joost
d8b00dc8d0 * Fixed an exception on writing a message that setting a breakpoint failed.
git-svn-id: trunk@44384 -
2014-03-09 10:01:32 +00:00
joost
1d789ef144 * Re factorization to move windows-specific code from fpdcommand.pas to fpdbgwinclasses.pas
git-svn-id: trunk@44349 -
2014-03-05 10:13:31 +00:00
martin
483139f4fb FPDebug: refactor, renamed some classes
git-svn-id: trunk@44330 -
2014-03-02 21:58:15 +00:00
martin
3f415797e4 Debugger: put some common types into DbgIntf
git-svn-id: trunk@44079 -
2014-02-15 01:31:30 +00:00
martin
4af520994a FPDebug: moved TDbgPtr to new unit (avoid circle units)
git-svn-id: trunk@44024 -
2014-02-12 01:44:59 +00:00
joost
8f320ced38 * Resolved recursion problem introduced by a typo in r43987 #fac7e13063
git-svn-id: trunk@43988 -
2014-02-09 21:47:18 +00:00
joost
fac7e13063 * Refactored FpDbgClasses unit. Moved all Windows-specific code into the new FpDbgWinClasses unit.
git-svn-id: trunk@43987 -
2014-02-09 21:02:38 +00:00
martin
83d2aeba85 fpdebug: fix compile on linux
git-svn-id: trunk@43410 -
2013-11-09 20:34:31 +00:00
martin
adf1d0e502 FPDebug: refactor, break circle unit ref
git-svn-id: trunk@43374 -
2013-11-04 23:42:06 +00:00
martin
3a334890d5 FPDebug: refactor
git-svn-id: trunk@43372 -
2013-11-04 15:27:06 +00:00
martin
66f965d74c FPDebug: more tags
git-svn-id: trunk@43347 -
2013-11-01 00:40:27 +00:00
martin
75b3da80b2 FPDebug: more tags
git-svn-id: trunk@43343 -
2013-10-30 17:02:59 +00:00
martin
6130157a41 FPDebug: more tags
git-svn-id: trunk@43338 -
2013-10-28 23:43:31 +00:00
martin
0f1ab1f8fe FPDebug: scan in enum / helper to build pascal representation of types
git-svn-id: trunk@43330 -
2013-10-27 14:03:01 +00:00
martin
43df650e1e FPDebug: more dwarf types (enum)
git-svn-id: trunk@43323 -
2013-10-26 18:57:36 +00:00
martin
649eb4e059 FPDebug: refactor / more ptype for gdb
git-svn-id: trunk@43305 -
2013-10-23 13:26:43 +00:00
martin
4e2db184a7 FPDebug: refactor
git-svn-id: trunk@43301 -
2013-10-22 13:29:09 +00:00
martin
d3bb162b11 FPDebug: refactor
git-svn-id: trunk@43299 -
2013-10-21 13:53:42 +00:00
martin
4a14f0fd45 FPDebug: resolve compile issue with circular unit
git-svn-id: trunk@43293 -
2013-10-20 16:42:33 +00:00
martin
718a99efdd FPDebug: clean up / refactor
git-svn-id: trunk@43292 -
2013-10-20 16:12:51 +00:00
martin
2c8bcdec98 FPDebug: refactor
git-svn-id: trunk@43276 -
2013-10-18 22:43:02 +00:00
martin
045f8f0d07 FPDebug: Start reading type info
git-svn-id: trunk@43123 -
2013-10-06 13:20:21 +00:00
martin
b37ec153f8 FPDebug: refactored reading image-file, ported elf reader from duby
git-svn-id: trunk@42925 -
2013-09-24 23:56:45 +00:00
martin
940b1f607a FpDbg: ifdef windows specific code
git-svn-id: trunk@42899 -
2013-09-20 11:15:18 +00:00
martin
20a6b30256 FpDbg: Replace writeln with debugln
git-svn-id: trunk@42847 -
2013-09-17 17:17:46 +00:00
martin
5f80553ea9 Moved fpdebug
git-svn-id: trunk@42802 -
2013-09-15 10:59:04 +00:00