Commit Graph

802 Commits

Author SHA1 Message Date
martin
c6680d5c01 FpDebug: Improve Step-over/in when stepping of the last "end" line of a procedure. Always step to next line in caller.
git-svn-id: trunk@63075 -
2020-04-25 13:23:28 +00:00
martin
3370955c2b FpDebug: Fix pause on linux
git-svn-id: trunk@63067 -
2020-04-24 20:08:20 +00:00
martin
ee2ae9567c FpDebug: Do not ignore SigTrap
git-svn-id: trunk@63065 -
2020-04-24 20:08:17 +00:00
martin
fb73a010b2 FpDebug: Remember single-step if other threads cause events / deferred events
git-svn-id: trunk@63063 -
2020-04-24 20:08:14 +00:00
martin
11ad3881e8 FpDebug: stepping, avoid double step out.
git-svn-id: trunk@63062 -
2020-04-24 20:08:13 +00:00
martin
074fc3b2f0 FpDebug: Fix "stepped out" detection for step-over/in. Do not stop an "leave" command.
git-svn-id: trunk@63061 -
2020-04-24 20:08:11 +00:00
martin
f2d5fd797b FpDebug: Refactor storing/comparing stack-pointer/frame for step-out detection. Allow different architectures to provide sub-classes
git-svn-id: trunk@63060 -
2020-04-24 20:08:09 +00:00
martin
35706ffaa6 FpDebug: Improve step-commands for threads. Events in other threads, do not need single-stepping
git-svn-id: trunk@63059 -
2020-04-24 20:08:07 +00:00
martin
ec587a8ac1 FpDebug: Refactor internal jump detection
git-svn-id: trunk@63058 -
2020-04-24 20:08:06 +00:00
martin
6c936074db FpDebug: added error checks in disassembler tools
git-svn-id: trunk@63034 -
2020-04-20 15:31:47 +00:00
martin
ea30b6f6b9 FpDebug: Detect internal forwarding jumps, and avoid stopping at them
git-svn-id: trunk@63033 -
2020-04-20 15:31:45 +00:00
martin
944fd0d817 FpDebug: Fixed result of ReadCodeAt. Enable detection of prologue. Fix step-out, fix stack window.
git-svn-id: trunk@63032 -
2020-04-20 12:55:14 +00:00
martin
840b55b4a8 FpDebug: Fix step out, if current is in prologue / IsSteppedOut did not catch as BasePointer was still on outer proc.
git-svn-id: trunk@63031 -
2020-04-20 12:55:12 +00:00
juha
651a6436a2 Support Haiku build. Makefiles are generated from Makefile.fpc files using proper tools. Issue #36316, patch from Alfred.
git-svn-id: trunk@62890 -
2020-04-05 11:35:01 +00:00
martin
1f69cf465e FpDebug: fix typecast/deref for generated-pointer-type "^Foo($1234)", for signed values.
git-svn-id: trunk@62810 -
2020-03-25 15:51:07 +00:00
mattias
a472e9ef09 buildintf: split from ideintf
git-svn-id: trunk@62795 -
2020-03-22 11:58:11 +00:00
martin
57dc078ec5 FpDebug: fix compile on Mac
git-svn-id: trunk@62771 -
2020-03-17 12:42:13 +00:00
martin
8d0043c4c3 FpDebug: fix compile on Mac
git-svn-id: trunk@62765 -
2020-03-13 17:50:04 +00:00
martin
8ac43cbd8d Change PtrUInt to TDbgPtr to be consistent with FpDbgClasses unit
git-svn-id: trunk@62759 -
2020-03-12 20:00:13 +00:00
martin
93ee5eb352 Detect socket closed or other error and set status to SIGHUP. Do not access FConnection methods that read or write to socket when status = SIGHUP.
Patch/Contributed by ccrause

git-svn-id: trunk@62758 -
2020-03-12 14:21:18 +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
9df6eea67a Enable/IFDEF reverse disassembling for X86 to test concept. Base algorith not great for X86 variable length encoding
Patch/Contributed by ccrause

git-svn-id: trunk@62755 -
2020-03-12 14:21:13 +00:00
martin
121b9389ee Naive implementation of reverse disassembling
Patch/Contributed by ccrause

git-svn-id: trunk@62754 -
2020-03-12 14:21:12 +00:00
martin
6d6903e246 Introduce minimum and maximum instruction size properties to TDbgDisassembler. This is useful for buffering calculations, also in reverse disassembling. Preread required memory before disassembling to reduce impact of remote target access
Patch/Contributed by ccrause

git-svn-id: trunk@62753 -
2020-03-12 14:21:10 +00:00
martin
b014fcdeeb Let the TProcess call decide, if calls must be made in the correct thread (debugger-thread). Linux/trace only allows the dbg thread access.
git-svn-id: trunk@62752 -
2020-03-12 14:21:08 +00:00
martin
0aed1400c1 Added FpDbgAvrClasses to uses list so that AVR debugging is available in fpd
Patch/Contributed by ccrause

git-svn-id: trunk@62751 -
2020-03-12 14:21:07 +00:00
martin
7940dbf1b5 Basic AVR functionality
Patch/Contributed by ccrause

git-svn-id: trunk@62750 -
2020-03-12 14:21:05 +00:00
martin
8877a5b195 Change Insert/RemoveBreakInstructionCode to virtual because this implementation refers to target specific functionality (int3)
Patch/Contributed by ccrause

git-svn-id: trunk@62749 -
2020-03-12 14:20:34 +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
martin
676c17f1cf FpDebug: Refactor disassembler into class
git-svn-id: trunk@62746 -
2020-03-12 14:09:14 +00:00
juha
d9daa6776b FpDebug: Prevent an access violation in TDbgImageLoader constructor. Issue #36763.
git-svn-id: trunk@62700 -
2020-03-06 20:09:47 +00:00
martin
e1a09a86f4 FpDebug: fix checking for ImageBase (currently not implemented). Issue #0036499
git-svn-id: trunk@62512 -
2020-01-08 16:56:19 +00:00
martin
439be6f619 FpDebug: Linux, removed assert. Condition can occur when process terminates, as threads have not been restarted
git-svn-id: trunk@62496 -
2020-01-04 19:44:02 +00:00
martin
2282f707cf FpDebug: Fix Command.DoContinue. Do not read DbgThread.GetInstrPtr if the event is caused by another thread. On Linux the none-event thread (belonging to the command) may not be paused/readable.
git-svn-id: trunk@62492 -
2020-01-04 19:02:04 +00:00
martin
6739277749 Revert "FpDebug: Windows, remove unused code" / WinProcess.Interrupt is used by app/fpd
git-svn-id: trunk@62489 -
2020-01-04 15:00:40 +00:00
martin
5fb2dfc3ed FpDebug: Fix Mem-leak, DefaultMap was not freed. Issue #0036498
git-svn-id: trunk@62488 -
2020-01-04 15:00:38 +00:00
martin
54bbd61a23 Updated project file information. Patch by ccrause
git-svn-id: trunk@62487 -
2020-01-04 15:00:36 +00:00
martin
16a4757fa3 Fixed fpd memory leak caused by dangling TFpDbgMemConvertorLittleEndian.Create instance. Patch by ccrause
git-svn-id: trunk@62485 -
2020-01-04 03:56:59 +00:00
martin
365888b1de Fix fpd memory leak in TBreakPointIdMap. Patch by ccrause
git-svn-id: trunk@62484 -
2020-01-04 03:56:58 +00:00
martin
4e918eebdd Updated macho.pas from compiler folder. Needed the CPU_TYPE_ constants to identify target information. Patch by ccrause
git-svn-id: trunk@62483 -
2020-01-04 03:56:56 +00:00
martin
61e8a903ce FpDebug: FpdCommand, moved "uses fgl" outside ifdef
git-svn-id: trunk@62482 -
2020-01-04 03:36:22 +00:00
martin
98aa637a42 FpDebug: debugln
git-svn-id: trunk@62406 -
2019-12-16 23:22:53 +00:00
martin
9a11939004 FpDebug: Fix range check (addresses in target are allowed to overflow)
git-svn-id: trunk@62386 -
2019-12-14 15:56:26 +00:00
martin
e3313cf793 FpDebug: Version to 0.9
git-svn-id: trunk@62347 -
2019-12-08 02:37:18 +00:00
martin
a2a811c87c FpDebug: debugln
git-svn-id: trunk@62345 -
2019-12-08 00:18:18 +00:00
martin
489625b121 FpDebug, LazDebuggerFp: Implement step to except/finally / step over ignored exception
git-svn-id: trunk@62344 -
2019-12-08 00:18:17 +00:00
martin
c1611124b4 FpDebug: Added methods to add disabled breakpoints, and modify existing
git-svn-id: trunk@62343 -
2019-12-08 00:18:15 +00:00
martin
66a5571620 FpDebug: Clean/Remove the duplicate Finished/Handled on TDbgControllerCmd
git-svn-id: trunk@62342 -
2019-12-08 00:18:13 +00:00
martin
42eb28852f FpDebug: Win, Fix dropping last char of dll names.
git-svn-id: trunk@62341 -
2019-12-08 00:18:12 +00:00