Commit Graph

729 Commits

Author SHA1 Message Date
Martin
28d1437b17 LazDebuggerFp: Added Comments for handling FpcSpecific data 2021-12-06 17:23:28 +01:00
Martin
1b1dd8f5fa LazDebuggerFp: Fixed race condition / double free. By the time TFpDebugExceptionStepping.Destroy is called, the debug process should be gone, and should have deleted all its breakpoint, including those in DoDbgStopped. Also this is usually called in the Process-Exit event. 2021-12-05 22:44:05 +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
217459a76f LazDebuggerFp: fixed a nil deref, DefaultContext needs CurrentThread 2021-12-01 20:39:53 +01:00
Martin
d5d01deed4 LazDebuggerTestBase: file forgotten in fcd147a0bf / remove design time from package 2021-12-01 19:58:07 +01:00
Martin
d8188bb780 FpDebug: Show "class var" if in current context (no class/instance-name prefix). 2021-12-01 19:55:39 +01:00
Martin
ad58ebedf8 FpDebug, CmdLineDebuggerBase: Remove "design time".... / Add missing changes in packagefile 2021-11-25 21:01:06 +01:00
Martin
92257eaa94 CmdLineDebuggerBase: Add missing license 2021-11-25 12:55:04 +01:00
Martin
fcd147a0bf FpDebug, CmdLineDebuggerBase, LazDebugTestBase: Remove "design time", those are run-time packages (they are for use in the IDE, be serving as base classes to other design time packages. But they should not be listed for installation into the IDE on their own. 2021-11-25 12:54:25 +01:00
Martin
32aaa9b127 FpDebug: Fix default value / fix test 2021-11-07 15:32:43 +01:00
ccrause
50987e044c Renamed remote debugger to FpRspRemoteDebugger 2021-11-06 18:26:58 +02:00
ccrause
b7a20adaeb Remove unused variable FProcessConfig. 2021-11-06 14:23:33 +01:00
ccrause
a23062a904 Moved remote protocol debugger into own package. 2021-11-06 14:23:30 +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
Martin
3b2e56528b Merge branch 'fpdebug-AVR-2021-11-05' into 'main'
Fpdebug: Update AVR support (continuing from !36)

See merge request freepascal.org/lazarus/lazarus!40
2021-11-06 09:01:24 +00:00
Martin
f5956f9fa8 Regenerate Makefiles for fp/gdbmi-debuggers 2021-11-01 17:29:46 +01:00
ccrause
f515d77c42 Ensure bufOffset calculation cannot result in a negative value 2021-11-01 12:15:25 +02:00
ccrause
2e74920e74 Fixed up Makefiles so that new dependencies build correctly 2021-11-01 12:06:56 +02:00
ccrause
cbff56be77 Moved TXmlConfStringList from gdbmidebugger to DebuggerPropertiesBase to share this property class between gdbmidebugger and fpdebugdebugger. 2021-11-01 12:06:00 +02:00
mattias
0354b47bc4 updated makefiles 2021-10-18 14:32:30 +02:00
Martin
ad741a8d7a Revert "Disable PEEPHOLE opt in fpc 3.2.0 to fpc 3.2.3 => there is a bug that can cause crashed in fpdebug/lazutils"
This reverts commit 78bb88de35.
2021-10-16 13:41:59 +02:00
Martin
78bb88de35 Disable PEEPHOLE opt in fpc 3.2.0 to fpc 3.2.3 => there is a bug that can cause crashed in fpdebug/lazutils
(cherry picked from commit 6d1185d76b)
2021-10-16 11:45:10 +02:00
Martin
e4499b3ba0 LazDebuggerFp: Run Thread.RegisterValueList in debug-thread 2021-10-13 21:48:26 +02:00
Martin
24c378f797 LazDebuggerFp: Trigger DefaultContext in thread to cache it. (Avoid calling GetInstructionPointerRegisterValue outside the debug-thread) 2021-10-13 21:48:25 +02:00
Martin
12b1484637 LazDebuggerFp: Ensure MemReader.RegisterSize is run in debug-thread. It currently needs the thread-state, as the size is read from the RegisterValue-list. 2021-10-13 19:33:40 +02:00
Martin
f6d50d449f LazDebuggerFp, test: add run as console app 2021-10-01 14:31:52 +02:00
Martin
c8a6a985d0 LazDebuggerFp: Do not call GetInstructionPointerRegisterValue (ReadThreadState) while target may be running. Also do not call from IDE thread (only debug worker thread is allowed). 2021-09-26 02:01:50 +02:00
Martin
f99f5c0ed9 LazDebuggerFp: Make sure OnIdle is called, and all results are awaited. (Fixes Debug History) / DebugManager triggers snapshots for any dsPause and dsInternalPause. 2021-09-26 01:56:00 +02:00
ccrause
7309087cd0 Only calculate instruction offset if sym is assigned, else default to -1. 2021-09-12 11:17:46 +02:00
ccrause
c2c570c04e Include function offset of disassembled instruction to AnEntry to help identify the start of non-source lines identified by a function name. 2021-09-11 16:51:48 +02:00
ccrause
5000337f6d Include function name in disassembled entry item. 2021-09-11 15:00:27 +02:00
Martin
1c87dc96eb FpDebug: refactor external debug info / Enable for Linux and Windows 2021-08-14 15:23:17 +02:00
Martin
9922733232 FpLldbDebug: reg-num for Apple M1 2021-08-01 19:23:01 +02:00
martin
b5bf7de6f9 FpDebug, Windows: Forward OutputDebugString to IDE.
git-svn-id: trunk@65475 -
2021-07-19 18:17:06 +00:00
mattias
91763f2247 set trunk version to 2.3.0
git-svn-id: trunk@65242 -
2021-06-15 14:00:39 +00:00
martin
a9bdfda626 FpDebug: version 1.0
git-svn-id: trunk@65231 -
2021-06-14 17:00:52 +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
a0035c6097 LazDebuggerFp: tests for modify watch / build modes for test
git-svn-id: trunk@65226 -
2021-06-14 07:30:39 +00:00
martin
93b69aefd6 FpDebug: Fix dangling refs in Watches/Locals.FreeNotification
git-svn-id: trunk@65186 -
2021-06-08 19:32:28 +00:00
martin
83fc0859f9 FpDebug: Tests
git-svn-id: trunk@65184 -
2021-06-08 19:32:24 +00:00
martin
ba0a0bdf67 FpDebug: Improve callback for function calling
git-svn-id: trunk@65156 -
2021-05-30 20:27:26 +00:00
martin
574b3a8178 LazDebuggerFp, FpDebug: Modify watches/values in target
git-svn-id: trunk@65154 -
2021-05-30 19:01:08 +00:00
martin
a3bd018a86 Debugger, IDE: Watches, add "Allow function calls" option to IDE / Add "Auto set class from instance"
git-svn-id: trunk@65152 -
2021-05-29 22:51:13 +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
4d4db524ac FpDebug: evaluate "pointer - pointer" return int (with pointermath)
git-svn-id: trunk@65150 -
2021-05-29 22:51:06 +00:00
martin
320fe8c8a8 LazDebuggerFp: reduce compilation hints (not inlined)
git-svn-id: trunk@65149 -
2021-05-29 22:51:03 +00:00
maxim
076aee3ac9 LazDebuggerFpGdbmi: i18n-ed menu caption, regenerated translations and updated Russian translation
git-svn-id: trunk@65135 -
2021-05-25 21:42:56 +00:00
martin
37ed94e5eb FpDebug, test: DisAssembler testcase
git-svn-id: trunk@64993 -
2021-04-14 16:28:39 +00:00
martin
776651b5e3 FpDebug, test: DisAssembler testcase
git-svn-id: trunk@64990 -
2021-04-14 14:34:57 +00:00
martin
07bdec6e7c LazDebuggerFp: Fixed updating breakpoint-state
git-svn-id: trunk@64976 -
2021-04-12 03:44:39 +00:00
martin
4c8ebc85fe LazDebuggerFp: Fixed updating breakpoint-state
git-svn-id: trunk@64963 -
2021-04-10 23:48:14 +00:00
martin
caeb20c1c4 GdbmiDebugger, test: more output, to compare test results
git-svn-id: trunk@64959 -
2021-04-10 23:48:07 +00:00
martin
474161d379 GdbmiDebugger: Update "RunGdbmi" script (use testbase)
git-svn-id: trunk@64956 -
2021-04-10 23:48:00 +00:00
martin
176d2080c3 LazDebuggerFp: fixed race conditions / Cache variables must only be used for calls by main-thread.
git-svn-id: trunk@64888 -
2021-03-28 20:26:25 +00:00
martin
1b907520c7 Test Debugger, GDBMI: ArgC/Env Utf8 handling for cygwin builds
git-svn-id: trunk@64876 -
2021-03-27 23:50:44 +00:00
martin
e5e203904d FpDebug: fix nil pointer in value evaluate (editor hint on identifier)
git-svn-id: trunk@64824 -
2021-03-16 16:03:18 +00:00
martin
8b81b7cfd3 Debugger: Revert recent upper/lowercase changes
git-svn-id: trunk@64570 -
2021-02-13 14:30:50 +00:00
mattias
62c37ad72a updated Makefiles
git-svn-id: trunk@64567 -
2021-02-13 13:01:14 +00:00
martin
068feeb931 FpDebug: remove MemMgr.DefaultContext. All MemRead/Write must go via a location-context.
git-svn-id: trunk@64554 -
2021-02-12 18:31:07 +00:00
martin
6857851554 FpDebug/LazDebugger: add asserts for thread safety
git-svn-id: trunk@64542 -
2021-02-11 22:40:29 +00:00
martin
ccf7d87898 LazDebuggerFp: run MemMgr and similar always in Thread to avoid data races
git-svn-id: trunk@64541 -
2021-02-11 22:40:27 +00:00
martin
dee9846c86 DebuggerTests: clean up / change naming for temp exe files
git-svn-id: trunk@64540 -
2021-02-11 22:40:25 +00:00
martin
eab19f455a LazDebuggerFp: replace TThread.Queue with App.QueueAsync
git-svn-id: trunk@64539 -
2021-02-11 22:40:23 +00:00
martin
fa5c3112f3 FpDebug, LazDebuggerFp: call FOnThreadProcessLoopCycleEvent for deProcessExits / Ensure breakpoints are handled in the loop-thread / some breakpoint fixes
git-svn-id: trunk@64538 -
2021-02-11 22:40:21 +00:00
martin
f6d3eca79a Tests, LazDebuggerFp: more aggressive timing/scheduling for faster test runs
git-svn-id: trunk@64537 -
2021-02-11 22:40:19 +00:00
martin
2ae82698cb LazDebuggerFp: move breakpoints to thread worker queue
git-svn-id: trunk@64536 -
2021-02-11 22:40:17 +00:00
martin
54bf4844fc LazDebuggerFp: Improve shutdown of thread queue.
git-svn-id: trunk@64535 -
2021-02-11 22:40:15 +00:00
martin
5bbf925ec5 LazDebuggerFp: Split workerthreads into new unit for code running in the thread. (Easier to see which thread may access which objects)
git-svn-id: trunk@64534 -
2021-02-11 22:40:13 +00:00
martin
07871decc1 LazDebuggerFp: reduce compiler hints
git-svn-id: trunk@64521 -
2021-02-10 18:16:40 +00:00
martin
13e0aa558a DebuggerTest: restore use resources
git-svn-id: trunk@64520 -
2021-02-10 18:16:38 +00:00
martin
45514d05ab DebuggerTests: add prebuild resources file
git-svn-id: trunk@64519 -
2021-02-10 18:16:36 +00:00
juha
657341c4df Fix debugger test compilation.
git-svn-id: trunk@64518 -
2021-02-10 15:35:10 +00:00
juha
77e6853ca6 Components: Reduce calls to LowerCase().
git-svn-id: trunk@64515 -
2021-02-10 13:43:15 +00:00
juha
b53ad7ceed Components: Reduce calls to UpperCase() and LowerCase(). Improves performance.
git-svn-id: trunk@64506 -
2021-02-08 19:09:30 +00:00
juha
0feb7a5662 Codetools, Debugger: Use a faster compare method for case-insensitive strings and StringLists.
git-svn-id: trunk@64465 -
2021-02-05 11:28:11 +00:00
martin
20f6b975cf FpDebug: tests pointer math
git-svn-id: trunk@64401 -
2021-01-16 19:30:12 +00:00
martin
3063ca080a LazDebuggerFp: Fixed Crash. Initialize DefaultContext for Locals.
git-svn-id: trunk@64393 -
2021-01-15 19:03:01 +00:00
martin
1d0df4e6e4 FpDebug: more tests for float watches
git-svn-id: trunk@64389 -
2021-01-14 21:14:09 +00:00
martin
fa1a2fa3b0 FpDebug: PascalParser, fixed unary +/- / Added unary for float / tests for float
git-svn-id: trunk@64388 -
2021-01-14 21:14:07 +00:00
martin
3f5954b07e FpDebug: fixed evaluating signed/unsigned mixed AND
git-svn-id: trunk@64387 -
2021-01-14 21:14:05 +00:00
martin
809ce9c782 LazDebuggFpLldb: fix freeing an uninitialized object. (Locals dlg)
git-svn-id: trunk@64358 -
2021-01-08 23:07:53 +00:00
martin
bc73f7750f LazDebuggerFp: Fix endless loop, in stack supplier.
git-svn-id: trunk@64319 -
2021-01-03 01:37:56 +00:00
martin
b937fb36b5 LazDebuggerFp: Fix crash when stopping debugger. Issue #0038065 / Ensure no background tasks are running when the FpDebug destroys the CurrentProcess (in process-exit event).
git-svn-id: trunk@64266 -
2020-12-22 13:34:55 +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
b5e8644836 LazDebuggerFp: Do not acquire Focus for none-breaking breakpoints (use dsInternalPause). Issue #38219
git-svn-id: trunk@64242 -
2020-12-19 17:06:34 +00:00
martin
557173a500 LazDebuggerFp: remove duplicated code
git-svn-id: trunk@64241 -
2020-12-19 17:06:32 +00:00
martin
78af663741 Revert WatchesValuePrg.pas: r64120 #618261511d LCL: Remove tests for FPC versions 2.x. Cannot be used anyway.
git-svn-id: trunk@64240 -
2020-12-19 17:06:31 +00:00
martin
cbcc64b6eb LazDebuggerFp: Do not call QuickPause for "delayed removed" breakpoints.
git-svn-id: trunk@64239 -
2020-12-19 17:06:29 +00:00
martin
ff698f9f85 LazDebuggerFp: Do not change the DebuggerState for QuickPause (if only breakpoints need to be set/removed)
git-svn-id: trunk@64238 -
2020-12-19 17:06:27 +00:00
martin
b0afde4a36 LazDebuggerFp: Do not request pause (for breakboint changes) when in "SendEvents" (paused, but no State set yet)
git-svn-id: trunk@64237 -
2020-12-19 17:06:25 +00:00
juha
618261511d LCL: Remove tests for FPC versions 2.x. Cannot be used anyway.
git-svn-id: trunk@64120 -
2020-11-10 09:50:20 +00:00
martin
e2c618e262 FpDebugger: Show classname for functions in stack.
git-svn-id: trunk@64022 -
2020-10-15 18:38:20 +00:00
martin
569ea0aeb7 FpDebugger: updated tests
git-svn-id: trunk@64021 -
2020-10-15 18:38:18 +00:00
martin
6156b1bf31 FpDebugDebugger: replace Control-thread with ThreadWorkQueue
git-svn-id: trunk@64020 -
2020-10-15 18:38:16 +00:00
martin
55c3a5cbbc FpDebug, test: fix access to nil pointer
git-svn-id: trunk@63922 -
2020-09-25 22:08:49 +00:00
martin
b3cbbc6218 FpDebug: tests
git-svn-id: trunk@63886 -
2020-09-17 23:04:20 +00:00
martin
03920381a6 FpDebugger: amend address/line for exceptions (addr was line after caller)
git-svn-id: trunk@63866 -
2020-09-05 00:14:38 +00:00
pascal
e43ef2df62 FpDebug: fixed missing unit
git-svn-id: trunk@63820 -
2020-08-24 06:13:22 +00:00
martin
88ec662309 FpDebug: Tests, reduce calls to GetLocation
git-svn-id: trunk@63813 -
2020-08-22 20:27:18 +00:00
martin
35d829c943 Debuggers (FpLLDB, FpGDBMI): add some safety checks. Do not free dwarf, in the middle of watch eval
git-svn-id: trunk@63786 -
2020-08-18 23:12:49 +00:00
martin
1ba76474e3 FpDebug: Separate Context and SearchScope
git-svn-id: trunk@63784 -
2020-08-18 23:12:46 +00:00
martin
93c1ca640f FpDebug: Rename some context classes, and search functions. Start differentiating between Context and SearchScope
git-svn-id: trunk@63783 -
2020-08-18 23:12:42 +00:00
juha
125e794a87 Remove useless test for X <> Nil when using "is" operator.
git-svn-id: trunk@63779 -
2020-08-18 17:35:21 +00:00
martin
8386c71041 FpDebug: Tests for structure/class members to have DW_AT_const_value
git-svn-id: trunk@63773 -
2020-08-17 21:50:42 +00:00
martin
83816792fb fpdebug test - ifdef 2.6.4
git-svn-id: trunk@63767 -
2020-08-17 21:50:31 +00:00
mattias
61c53d6f41 LazUtils/FreeType: Separate FreeType stuff into its own package
git-svn-id: trunk@63558 -
2020-07-14 18:09:17 +00:00
mattias
8ceb09a67b make: changed default darwin lcl platform from carbon to cocoa
git-svn-id: trunk@63551 -
2020-07-13 09:00:41 +00:00
martin
d4275fa7e4 LazDebugFp, FpDebug: TestAssert does not set exception frame. Adjust for line before return address
git-svn-id: trunk@63537 -
2020-07-09 14:28:08 +00:00
martin
c84d9e5bfe LazDebugFp, FpDebug: TestAssert does not set exception frame. Search by IP address
git-svn-id: trunk@63535 -
2020-07-08 22:39:00 +00:00
martin
af13ce4b2d LazDebuggerFp: fix searching assert frame
git-svn-id: trunk@63534 -
2020-07-08 22:38:58 +00:00
martin
919849eac7 LazDebuggerFp: Show source location for Hardcoded breakpoint / int3
git-svn-id: trunk@63521 -
2020-07-06 13:00:59 +00:00
martin
57f2930395 FpDebug: Pause at hardcoded int3
git-svn-id: trunk@63513 -
2020-07-05 19:16:59 +00:00
martin
e55e3eec50 FpDebug: Refactor OnHitBreakpointEvent
git-svn-id: trunk@63512 -
2020-07-05 19:16:56 +00:00
martin
df762f1976 LazDebuggerFp: restructure config for mem limits
git-svn-id: trunk@63511 -
2020-07-05 12:57:21 +00:00
martin
50c0885715 FpDebug/LazDebuggerfp: Make memory limits configurable
git-svn-id: trunk@63509 -
2020-07-05 01:18:32 +00:00
martin
582cb02032 LazDebuggerFp: Detect faulty Assert frame info.
git-svn-id: trunk@63500 -
2020-07-03 13:35:33 +00:00
martin
119607908c FpDebug: show registers according to selected stackframe
git-svn-id: trunk@63460 -
2020-06-28 14:43:11 +00:00
martin
5d80c349fb FpDebug: find stackframe for exception
git-svn-id: trunk@63459 -
2020-06-28 14:43:10 +00:00
mattias
9dcd9ee04d updated makefiles
git-svn-id: trunk@63453 -
2020-06-28 11:01:41 +00:00
martin
21f849d337 FpDebug: shorten the output for pchar like types (strings in dwarf 2)
git-svn-id: trunk@63399 -
2020-06-19 21:05:17 +00:00
martin
4b28988db2 LasDebuggerFp: Better error handling when trying to cast to instance class (show none casted class, if cast not avail)
git-svn-id: trunk@63398 -
2020-06-19 17:45:26 +00:00
martin
be7b855369 FpDebug: Introduce configurable limits for mem usages / display len of array or string
git-svn-id: trunk@63397 -
2020-06-19 17:45:24 +00:00
martin
f59a294a01 FpDebug: Fixed reading memory for #0 terminated string data
git-svn-id: trunk@63391 -
2020-06-18 18:06:26 +00:00
martin
f97bb256fd FpDebug: add error message
git-svn-id: trunk@63384 -
2020-06-17 20:01:27 +00:00
martin
a667bbd318 FpDebug: PascalParser fix deref issues with typecasted pointers
git-svn-id: trunk@63383 -
2020-06-17 20:01:25 +00:00
martin
63b7ef5df1 Debugger: Add text messages for RunErrors
git-svn-id: trunk@63382 -
2020-06-17 16:52:46 +00:00
martin
8f89ad7b07 FpDebug: Catch RunError
git-svn-id: trunk@63381 -
2020-06-17 16:52:14 +00:00
martin
1b2bf99ec1 FpDebug: refactor showing exception details
git-svn-id: trunk@63380 -
2020-06-17 16:52:12 +00:00
martin
8b52ad831c FpDebug: pbyte for test
git-svn-id: trunk@63379 -
2020-06-17 13:03:45 +00:00
martin
edc614596e FpDebug: fix test / enable asserts in test
git-svn-id: trunk@63362 -
2020-06-16 13:42:48 +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
e84ff269e4 FpDebug: change GetInstanceClassNameFromPVmt to go through TFpDwarfFreePascalSymbolClassMap
git-svn-id: trunk@63356 -
2020-06-15 18:19:02 +00:00
martin
8d02777940 FpDebug: refactor getting instantiated classname.
git-svn-id: trunk@63355 -
2020-06-15 16:18:26 +00:00
martin
3186086cda FpDebug: fix available commands in dsStop
git-svn-id: trunk@63318 -
2020-06-06 18:26:37 +00:00
martin
26272363cd IDE, Debugger: fix r63306 #06b1a964b6 "Fix Run menu, to show correct available debugger commands" -- Do not init the debugger. => Review the entire calculation of available actions in the Run menu. Issue #0037183
git-svn-id: trunk@63317 -
2020-06-06 16:45:12 +00:00
martin
4f5896d680 LazDebuggerFp: Implemented/Corrected StepOverTo and RunTo
git-svn-id: trunk@63305 -
2020-06-06 00:53:48 +00:00
martin
de80bde641 IDE: rename "run to cursor" to "step to cursor" - reflect what it really does
git-svn-id: trunk@63302 -
2020-06-06 00:53:39 +00:00
martin
02bbb6443a LldbDebugger: Fixed spelling
git-svn-id: trunk@63096 -
2020-04-30 12:44:09 +00:00
martin
5436e7a8f8 FpDebug: Tests
git-svn-id: trunk@63077 -
2020-04-25 13:23:32 +00:00
martin
3e545f0813 LazDebuggerFp: change default for NextOnlyStopOnStartLine. Now set to "False". Only affects "Step out"
git-svn-id: trunk@63076 -
2020-04-25 13:23:30 +00:00
martin
a70309d3ce FpDebug: Tests
git-svn-id: trunk@63069 -
2020-04-24 20:08:24 +00:00
martin
e0ebb5cb56 FpDebug: allow changing current thread on Linux
git-svn-id: trunk@63068 -
2020-04-24 20:08:22 +00:00
martin
bb08a7b8cb FpDebug: do not ExecuteInThread while running / prevent IDE hanging
git-svn-id: trunk@63066 -
2020-04-24 20:08:19 +00:00
martin
1cc3be175c FpDebug: prevent debugger thread from crashing / prevent IDE hang, waiting for crashed thread.
git-svn-id: trunk@63064 -
2020-04-24 20:08:16 +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
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
667546f298 FpDebugger (all): prevent nil deref, for empty watch (auto instance class)
git-svn-id: trunk@62811 -
2020-03-25 15:51:09 +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
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
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
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
676c17f1cf FpDebug: Refactor disassembler into class
git-svn-id: trunk@62746 -
2020-03-12 14:09:14 +00:00
martin
834a18b043 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@62495 -
2020-01-04 19:44:01 +00:00
martin
6cc8e56bdc FpDebug: Fixed IDE hang on linux. ExecuteInDebugThread can be called recursive (e.g., by MemReader)
git-svn-id: trunk@62491 -
2020-01-04 18:23:06 +00:00
martin
8bdb3bfd79 FpDebug: fix mem leak / cross debug to win32 causes 2 load events for ntdll
git-svn-id: trunk@62480 -
2020-01-04 03:00:09 +00:00
martin
98aa637a42 FpDebug: debugln
git-svn-id: trunk@62406 -
2019-12-16 23:22:53 +00:00
martin
ce0adcee42 LazDebuggerFp: fix compile with 3.3.1
git-svn-id: trunk@62350 -
2019-12-08 03:24:37 +00:00
martin
5d2eb7f545 IDE: Added LazDebuggerFp (fpdebug) to BigIDE
git-svn-id: trunk@62349 -
2019-12-08 02:37:52 +00:00
martin
479ccecb1d LazDebuggerFp: Version to 0.9 and Makefile
git-svn-id: trunk@62348 -
2019-12-08 02:37:50 +00:00
martin
d70c65f807 LazDebuggerFp: Test exception stepping
git-svn-id: trunk@62346 -
2019-12-08 00:18:48 +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
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
b206664b05 LazDebuggerFp: Fixed/Workaround an endless loop with auto-continue breakpoints. The new async-stack-eval was not taken into account.
git-svn-id: trunk@62319 -
2019-12-03 01:55:29 +00:00
martin
cdad0cd83f LazDebuggerGdbmi: Tests for Step to finally/except for Win64 SEH
git-svn-id: trunk@62315 -
2019-11-29 02:58:27 +00:00
martin
e5f3e33463 LazDebuggerFp: Fix watches evaluation not called, if stack had less than 5 frames. FReqList was not cleared, since "add" happens after "remove" (remove called during create)
git-svn-id: trunk@62304 -
2019-11-27 01:52:41 +00:00
martin
33105a74b6 LazDebuggerFp: use GetParamsAsString from FpDebug
git-svn-id: trunk@62173 -
2019-11-03 17:05:36 +00:00
mattias
f46c547347 lazdebugger: clean up
git-svn-id: trunk@62110 -
2019-10-22 15:10:45 +00:00
martin
93784272ae FpDebug: Eval threads first. Avoid double refresh of other windows.
git-svn-id: trunk@62051 -
2019-10-13 21:52:28 +00:00
martin
e44a64751f LazDebuggerFp: Improve reaction time to user request next-step/run. If Stack/Watches are still in evaluation then stop them.
git-svn-id: trunk@62050 -
2019-10-13 21:52:26 +00:00
martin
0040dbe1fe FpDebug: tests
git-svn-id: trunk@62049 -
2019-10-13 12:25:43 +00:00
martin
9db76fad42 FpDebug: test
git-svn-id: trunk@62039 -
2019-10-11 12:37:47 +00:00
martin
e6a89c7f7c Debugger-tests: Ensure all pending log messages are written before closing the file
git-svn-id: trunk@62035 -
2019-10-11 12:07:21 +00:00
martin
bb9f614179 FpDebug: Fix a leak when stopping/reseting the debugger under heavy multithreaded load. (Windows may have queued events, then the next pause may not be the expected ExitProcess, and clean-up is not triggered.
git-svn-id: trunk@62032 -
2019-10-11 12:07:16 +00:00
martin
d24501ac43 FpDebug: test for parser and/or/mod...
git-svn-id: trunk@62029 -
2019-10-10 21:30:21 +00:00
martin
861127a3cf FpDebug: test for parser string ops
git-svn-id: trunk@62027 -
2019-10-10 21:30:18 +00:00
martin
9593489f2f Debugger-test-base: reduce large string ops // collecting thousands of strings is better done in a list.
git-svn-id: trunk@62016 -
2019-10-09 20:06:27 +00:00
martin
cda053352c FpDebug: Tests for bitpacked array/record
git-svn-id: trunk@62014 -
2019-10-09 20:06:24 +00:00
martin
cbe21ff4f3 FpDebug: implement watching bitpacked array/record
git-svn-id: trunk@62012 -
2019-10-09 20:06:21 +00:00
martin
bbc36a7e52 FpDebug: Add test for "set of (10..20)" (subrange)
git-svn-id: trunk@62010 -
2019-10-09 20:06:17 +00:00
martin
f6616221d8 FpDebug: Fix crash on hitting just deleted breakpoint (race condition leads to nil object access)
git-svn-id: trunk@62005 -
2019-10-06 22:00:31 +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
c545425462 LazDebuggerFp: Refactor getting user selected stack/frame into new method GetCurrentThreadAndStackFrame
git-svn-id: trunk@61988 -
2019-10-05 11:09:45 +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
804425c111 FpDebug: test, nested procs can see outer scope
git-svn-id: trunk@61986 -
2019-10-05 11:09:42 +00:00
martin
3cb743cac0 LazDebugger: Fix FindContext must run in thread. Fix watches in other stackframes sometimes fail to eval. Broken in r61968 #fa44aa0f0b.
git-svn-id: trunk@61984 -
2019-10-05 11:09:39 +00:00
martin
6b45533e05 FpDebug: tests (enum member)
git-svn-id: trunk@61970 -
2019-10-03 18:38:14 +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
50cb78378e FpDebug: test, increase timeout to reduce false failures
git-svn-id: trunk@61965 -
2019-10-03 18:38:06 +00:00
martin
6591981f5f FpDebug: Fix leak introduced in r61951 #cc3a453334 / missing deref for ValueObject in Locals eval
git-svn-id: trunk@61957 -
2019-10-02 11:48:28 +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
10c89a58d9 FpDebug: tests
git-svn-id: trunk@61921 -
2019-09-24 23:36:42 +00:00
martin
ac8e91f785 LazDebuggerFp: Enable TypedAddress
git-svn-id: trunk@61919 -
2019-09-24 23:36:39 +00:00
martin
9126322a34 FpDebug: tests
git-svn-id: trunk@61904 -
2019-09-19 17:29:18 +00:00