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
804b5a7be4
FpDebug: Windows, fix closing handles for sub-processes (not currently debugged). Also correctly detach.
...
git-svn-id: trunk@61892 -
2019-09-16 21:49:27 +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
cc1055fbed
FpDebug: Windows, fix stepping over (temp-removed) breakpoint.
...
- If another thread received a signal before the "step-finished signal" (e.g. thread created / pending sigs) then the temp-break was back in place and kept in place -> the break was hit again instead of stepping over it.
- If another thread exited (and the exit signal was received before the "step-finished signal" then no handling was done at all (no threads suspended / no temp remove breaks)
git-svn-id: trunk@61877 -
2019-09-14 14:27:47 +00:00
martin
3fce95a1c2
FpDebug: Windows, debugln/dbgs include WOW64 names
...
git-svn-id: trunk@61867 -
2019-09-12 15:33:14 +00:00
martin
c9beb9dffe
FpDebug: Windows, fixed Process.Continue with single step request
...
git-svn-id: trunk@61866 -
2019-09-12 15:33:12 +00:00
martin
1958b8edea
FpDebug: Windows, Added WoW64
...
git-svn-id: trunk@61848 -
2019-09-10 01:40:49 +00:00
martin
a2978c370e
FpDebug: Windows, remove unused code
...
git-svn-id: trunk@61847 -
2019-09-10 01:40:48 +00:00
martin
a3fb24b828
FpDebug: load some kernel functions dynamically, to avoid stopping the IDE from starting on pre-vista systems.
...
git-svn-id: trunk@61846 -
2019-09-09 21:13:57 +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
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
2f812db331
FpDebug: Windows, suspend other threads while single stepping over a (temp-removed) breakpoints.
...
- Other threads could cause an event, before the thread does single-step. Then the breakpoint gets restored to early
- Other threads could run through the code, while the breakpoint is removed. They would not stop as they should.
git-svn-id: trunk@61838 -
2019-09-08 19:03:08 +00:00
martin
966ecb9382
FpDebug: debugln for windows API events
...
git-svn-id: trunk@61834 -
2019-09-08 18:52:42 +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
f534ee214b
FpDebug: Fix crash on Win, in case of multiple processes (e.g. console process for win gui app). Accessing wrong threads (thread-state) during events would crash the target
...
git-svn-id: trunk@60345 -
2019-02-06 00:47:08 +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
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
8175bdfee6
FpDebug: Windows, fixed intercepting system exceptions (access violations, stack overflow, div zero,...)
...
git-svn-id: trunk@60044 -
2019-01-09 14:29:56 +00:00
martin
a33608de2e
FpDebug: Windows, fix leaking filehandles (again), see r59552 #122dfbd2ce / needed until forked processes are handled.
...
git-svn-id: trunk@59741 -
2018-12-06 18:03:18 +00:00
martin
0506cd7fb5
FpDebug: Windows, Check dwDebugEventCode before accessing case dependent data
...
git-svn-id: trunk@59740 -
2018-12-06 18:01:02 +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
3f70eb5a9d
FpDebug: Windows, replace global context (thread context/registers) with context per thread
...
git-svn-id: trunk@59569 -
2018-11-17 13:55:54 +00:00
martin
122dfbd2ce
FpDebug: Windows, fix leaking filehandles / more (temp) fixes for not processing forked children
...
git-svn-id: trunk@59552 -
2018-11-15 22:42:41 +00:00
martin
84e5ae329a
FpDebug: Workaround for dangling thread object
...
git-svn-id: trunk@59551 -
2018-11-15 22:41:07 +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
a80f8c659c
FpDebug: refactor for loading MacOs sym in mixed lldb/gdb debug
...
git-svn-id: trunk@58395 -
2018-06-24 19:31:39 +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
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
bf3d90af8b
fpdebug: fixed TDbgWinProcess.Continue to call Windows.ContinueDebugEvent even though aThread invalid
...
git-svn-id: trunk@50930 -
2015-12-19 11:06:19 +00:00
mattias
8fd1210a8b
fpdebug: fixed TDbgWinProcess.RemoveLib free lib, bug #29206 , patch from Anton
...
git-svn-id: trunk@50887 -
2015-12-17 22:10:23 +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
269420bf8c
fpdebug: fixed TDbgWinProcess.Continue checking if aThread valid, bug #29206 , patch from Anton
...
git-svn-id: trunk@50883 -
2015-12-17 22:04:50 +00:00
mattias
e7ce75b682
fpdebug: using Windows W functions
...
git-svn-id: trunk@50617 -
2015-12-04 19:02:39 +00:00
mattias
0924792e5f
fpdebug: using TProcessUTF8
...
git-svn-id: trunk@50596 -
2015-12-04 16:03:20 +00:00
martin
24d973001c
fpdebug: fix pause on win32
...
git-svn-id: trunk@49029 -
2015-05-15 15:04:11 +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
martin
56a4a31450
fix some warnings
...
git-svn-id: trunk@46906 -
2014-11-20 16:27:55 +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
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
0016101b7f
FpDebugger (pure): Show a message when starting the debuggee has failed. With some special attention to the case that someone tries to debug a 64 bit application with a 32 bit debugger.
...
git-svn-id: trunk@45432 -
2014-06-09 16:29:25 +00:00
joost
1b1997f370
FpDebugger (pure): Changed notification-level for errors during reading memory from dllInfo to dllDebug. It is quite normal that a debugger tries to read memory from invalid addresses.
...
git-svn-id: trunk@45428 -
2014-06-09 12:36:51 +00:00
joost
56442faf8e
FpDebugger (pure): Set the correct register-sizes for x86_64-win64.
...
git-svn-id: trunk@45427 -
2014-06-09 12:16:38 +00:00
joost
a3149e411e
FpDebugger (pure): Updated the Dwarf-register number information on Windows, see x86reg.dat/amd64-tdep.c.
...
git-svn-id: trunk@45425 -
2014-06-09 10:34:49 +00:00
joost
5c3fd8af1d
FpDebugger (pure): Let the kernel close the debug-handle after an application has quit. (bug #25986 )
...
git-svn-id: trunk@45423 -
2014-06-09 09:33:32 +00:00
joost
9052ce0136
FpDebugger (pure): Use the (thread-safe) log system instead of DebugLn
...
git-svn-id: trunk@45409 -
2014-06-08 22:22:50 +00:00
joost
22e7389619
FpDebugger (pure): Refactored creation of new TDbgThreads
...
git-svn-id: trunk@45407 -
2014-06-08 18:59:06 +00:00