Commit Graph

152 Commits

Author SHA1 Message Date
Martin
cac376d0f9 LazDebuggerFp, FpDebug: Fix watch-function-call when debuggee has crashed. Prevent the function call 2023-03-13 12:32:30 +01:00
Martin
1caa678dcf Debugger: Clean up debugln without log_group 2023-03-02 19:56:37 +01:00
Martin
04b384b34d FpDebug: Set breakpoints in libraries (dll/so). Update existing breakpoints when library is loaded. Add state (ok, fail, pending) to breakpoints. 2023-02-16 16:39:03 +01:00
Martin
e3a3d33c99 FpDebug: Windows (10 up), use WaitForDebugEventEx to support Utf16 OutputDebugStringW 2023-02-04 08:52:29 +01:00
Martin
45b69e8d9d Debugger: Allow to suspend/resume individual threads / only with FpDebug, only while paused - for the next run/step. 2022-09-11 03:28:53 +02:00
Martin
db69b34e2a FpDebug: Fixes for watch-function-eval: allow function to recursively enter itself. 2022-09-10 18:01:36 +02:00
Martin
b3cae05fee FpDebug: fix restoring registers (e.g. after function eval) 2022-09-07 04:36:33 +02:00
Martin
2f4e270270 FpDebug: Windows, rewrite of "step after hitting breakpoint". Fix issues with incorrect steps (Instr-Ptr not reset) in multi thread scenario, when the int3 had been remove in the meantime. 2022-08-02 15:20:50 +02:00
Martin
248732defe debugln 2022-07-02 01:57:49 +02:00
Martin
3c322a009f FpDebug: Win, improved logging for errors 2022-07-01 01:06:08 +02:00
Martin
dcf2a00767 FpDebug: use Wow64SuspendThread for cross debugging. 2022-06-30 13:00:45 +02:00
Martin
ae2ca525ca FpDebug: Win, Clear Exception after function-eval-call failed (with SigSegV) 2022-06-30 02:46:01 +02:00
Martin
1d0daee376 FpDebug: fix setting negative value to Register for 32bit target. 2022-06-30 02:20:53 +02:00
Pascal Riekenberg
2bc0a9b371 Debugger: added support for TThread.NameThreadForDebugging 2022-06-28 07:35:40 +02:00
Martin
b014798858 LazDebuggerFp, FpDebug: Enable watch-eval calling function with strings as param/result (only DWARF 3 / up) 2022-06-21 00:29:07 +02:00
Martin
63a6ce4f32 FpDebug: added IFDEF $INLINE OFF 2022-06-21 00:06:04 +02:00
Martin
95a5c05edc FpDebug: Do not process data, after MemRead failed. 2022-03-03 00:46:11 +01:00
Joost van der Sluis
a05f75154d * FpDebug: Fix for handling processes that do not provide a real file-handle. 2022-01-01 17:29:43 +01:00
Joost van der Sluis
7750772722 FpDebug: Fix for handling libraries that do not provide a real file-handle. 2021-12-30 20:36:04 +01:00
Joost van der Sluis
8205a04199 FpDebug: On Windows the RelocationOffset can only be calculated after the file-header has been read. So the whole logic to obtain the RelocationOffset out of the LoadedTargetImageAddr and ImageBase is refactored 2021-12-15 01:21:10 +01:00
Martin
842abf97c1 FpDebug: Remove some asserts that were to strict. The check is done in ReadThreadState. If that has already been done, the functions do not need the requirement. 2021-12-12 21:00:28 +01:00
Maxim Ganetsky
b291a31f11 FPDebug: fixed compilation on Windows 2021-12-09 01:38:49 +03:00
Joost van der Sluis
e9f1ffb855 FpDebug: Load libraries on Linux, and skip incompatible binaries. Also on Windows, for consistency and stability 2021-12-08 22:18:04 +01:00
Joost van der Sluis
de0974f29e FpDebug: Removed TDbgInstance.AddrOffset and other old attempts to relocate libraries properly 2021-12-08 00:43:17 +01:00
Martin
9877946d86 FpDebug: reduced debugln 2021-12-07 23:21:42 +01:00
Martin
07e3817870 FpDebug: fix mem leak. Libraries were not freed on Unload. 2021-12-06 00:40:25 +01:00
Joost van der Sluis
bc4718efae FpDebug: Ability to pass multiple libraries to OnLibrary(Un)LoadedEvent and detection of loading of libraries on Linux 2021-12-05 01:46:45 +01:00
Martin
9213ca32e8 FpDebug: Fixed MemLeak on Windows: TProcessUtf8 was not freed / introduced in e104c4c418 - merge-request !41 2021-11-20 13:02:22 +01:00
Martin
32aaa9b127 FpDebug: Fix default value / fix test 2021-11-07 15:32:43 +01:00
ccrause
7e5b510a4e Update StartInstance and AttachInstance method signatures of TDbgWinProcess. 2021-11-06 16:17:58 +02:00
ccrause
4055d9420b Consolidated parameters for TDbgProcess.Create, StartInstance and AttachToInstance. 2021-11-06 14:23:31 +01:00
ccrause
923fce0cb0 Change StartInstance and AttachInstance to normal methods. TDbgController now calls OSDbgClasses.DbgProcessClass to create a process class instance with a TDbgProcessConfig parameter which can be subclassed and passed around for configuration. The remote configuration is now passed via this parameter as a subclass. 2021-11-06 14:23:28 +01:00
Sergey Larin
5d7d828c63 FpDebug: Support for the 4th argument when calling the function (Win64)
Related to a32ac8e665
2021-01-07 12:09:04 +03:00
Martin
6fc5c2fcdd FpDebug: more asserts for correct thread usage 2021-10-13 21:48:32 +02:00
Martin
f47220cc47 FpDebug: Add asserts 2021-09-26 02:09:18 +02:00
martin
b5bf7de6f9 FpDebug, Windows: Forward OutputDebugString to IDE.
git-svn-id: trunk@65475 -
2021-07-19 18:17:06 +00:00
martin
0244c95a33 FpDebug: Dynamically load DebugBreakProcess
git-svn-id: trunk@65291 -
2021-06-22 15:14:38 +00:00
martin
6661f86edd Debugger: allow to force lazloggerbase via define
git-svn-id: trunk@65227 -
2021-06-14 07:30:45 +00:00
martin
ce0d1a0bc8 LazDebuggerFp, FpDebug: Beta, Allow function calls in watches
git-svn-id: trunk@65151 -
2021-05-29 22:51:09 +00:00
martin
82c6e8b284 FpDebug: Change debugging flags on process creation. Allow debugged 32bit processes to launch 64bit sub-processes without the debugger interfering. Sub-processes are anyway currently not debugged. Issue #0038546
git-svn-id: trunk@64779 -
2021-03-10 18:38:39 +00:00
martin
fa5199045e LazDebuggerFp, FpDebug: Show an error message, if the debugger cannot run the application. Issue #0038167
git-svn-id: trunk@64243 -
2020-12-19 22:39:00 +00:00
martin
9ff4b0dc00 FpDebug: Win, add debugln for ContinueDbgEvent / WaitForDebugEvent
git-svn-id: trunk@63777 -
2020-08-18 11:37:54 +00:00
martin
f2959d4c98 FpDebug: Win, Only read ThreadState once per thread.
git-svn-id: trunk@63775 -
2020-08-18 00:04:04 +00:00
martin
2bba45a96c FpDebug: SetRegisterValue for Windows
git-svn-id: trunk@63764 -
2020-08-16 20:23:35 +00:00
martin
1f229f6246 FpDebug: Fix compile on Windows
git-svn-id: trunk@63753 -
2020-08-16 12:40:36 +00:00
martin
1b2bf99ec1 FpDebug: refactor showing exception details
git-svn-id: trunk@63380 -
2020-06-17 16:52:12 +00:00
martin
a43e155cdb FpDebug, Debuggers, IDE: Make MemManager easier to access. (via Controller and Instance)
git-svn-id: trunk@63358 -
2020-06-16 13:42:42 +00:00
martin
62facbb44d Renamed TDbgDisassembler class and all related classes to avoid name clashes with FpDebugDebugger classes.
Patch/Contributed by ccrause

git-svn-id: trunk@62757 -
2020-03-12 14:21:17 +00:00
martin
2ee9c0fe84 FpDebug: New TTargetDescriptor type used to store target specific information. All target specific classes are automatically registered in the respective initialization sections. TDbgController.Run modified to call CheckExecutableAndLoadClasses which loads target info from specified file, loads global disassembler instance and DbgProcess class. Patch/Contributed by ccrause
git-svn-id: trunk@62748 -
2020-03-12 14:20:33 +00:00
martin
2e1bd02f2d FpDebug: Refactor OsDbgClasses => move as field to DbgController and DbgProcess / Prepare for target specific classes
git-svn-id: trunk@62747 -
2020-03-12 14:09:16 +00:00