Commit Graph

397 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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