Commit Graph

479 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
martin
0ea8345dd4 FpDebug: tests
git-svn-id: trunk@61901 -
2019-09-18 22:14:04 +00:00
martin
ce36789c36 LazDebuggerFp: Improve OnIdle handling
git-svn-id: trunk@61893 -
2019-09-16 23:14:19 +00:00
martin
bfb0ff05df FpDebug: Test for stepping over an breakpoint that continues (condition/auto-continue/...) / stepping over recursive calls
git-svn-id: trunk@61884 -
2019-09-15 13:22:03 +00:00
martin
1c5491c441 FpDebug: tests for step over
git-svn-id: trunk@61879 -
2019-09-14 14:33:07 +00:00
martin
b93119b54e FpDebug: Test that each breakpoint is reported in each thread
git-svn-id: trunk@61852 -
2019-09-10 18:52:42 +00:00
martin
0b78b442ef FpDebug: Windows, Enabled test for WoW64
git-svn-id: trunk@61849 -
2019-09-10 01:40:51 +00:00
martin
623c18b832 FpDebug: comment out test for not yet implemented feature / clean up
git-svn-id: trunk@61841 -
2019-09-08 19:03:12 +00:00
martin
736f8b32fa LazDebuggerFp: fix debugln
git-svn-id: trunk@61837 -
2019-09-08 19:03:06 +00:00
martin
3254177a33 LazDebuggerFp: check correct thread (only top frame) when getting register values
git-svn-id: trunk@61836 -
2019-09-08 19:03:05 +00:00
martin
5b2858fe15 FpDebug: Test for breakpoints in threads
git-svn-id: trunk@61835 -
2019-09-08 19:03:03 +00:00
martin
d9731de769 FpDebug, LazDebuggerFp: More debugln for Breakpoints
git-svn-id: trunk@61817 -
2019-09-05 20:05:55 +00:00
martin
2fa22bf873 LazDebuggerFp: Fix crash when starting debugger with F7/F8 - Disable them, as they currently do not stop at program entry
git-svn-id: trunk@61815 -
2019-09-05 20:05:51 +00:00
martin
e06e1746df LazDebuggerFp: fix uninitialized var
git-svn-id: trunk@61809 -
2019-09-02 14:19:04 +00:00
martin
4e7c7e1842 LazDebuggerFp: correctly eval watches for history snapshots
git-svn-id: trunk@61807 -
2019-09-02 00:44:53 +00:00
martin
4db4bc458b LazDebuggerFp: fix context (crash) during stack eval
git-svn-id: trunk@61804 -
2019-09-02 00:44:49 +00:00
martin
6cabb6cc74 FpDebug: tests
git-svn-id: trunk@61784 -
2019-08-29 15:12:47 +00:00
martin
530e705ee9 FpDebug: more tests
git-svn-id: trunk@61778 -
2019-08-28 15:36:17 +00:00
martin
b8f6c44020 FpDebug: test watches for Pointer
git-svn-id: trunk@61754 -
2019-08-24 20:39:56 +00:00
martin
c66f2fd121 LazDebuggerFp: Clean up
git-svn-id: trunk@61745 -
2019-08-22 21:33:22 +00:00
martin
27171a439a FpDebug: more tests / run eval for skipped tests, ensure there is no crash
git-svn-id: trunk@61744 -
2019-08-22 21:33:21 +00:00
martin
4bfff289c6 FpDebug: some tests for info about types in watches
git-svn-id: trunk@61735 -
2019-08-20 18:58:52 +00:00
martin
4c83d18f8d FpDebug: tests for watches of Function/-ref
git-svn-id: trunk@61733 -
2019-08-20 18:58:48 +00:00
martin
eb8b6c7704 FpDebug: Test, Fix type-declaration in watches for function refs
git-svn-id: trunk@61724 -
2019-08-18 13:43:48 +00:00
martin
5a7c9f1487 FpDebug: Refactor class names for TFpDbgValue and TFpDbgSymbol descendants.
git-svn-id: trunk@61722 -
2019-08-18 13:43:45 +00:00
martin
2c26dfcbd5 FpDebug, tests: function-ref variables
git-svn-id: trunk@61522 -
2019-07-03 18:26:34 +00:00
martin
3ed45630a0 LazDebuggerFp: slightly faster watch eval.
git-svn-id: trunk@61517 -
2019-07-03 18:26:26 +00:00
martin
c212dea70f FpDebug, tests: More typecast tests
git-svn-id: trunk@61502 -
2019-06-30 19:17:03 +00:00
martin
553557be16 FpDebug, tests: More tests. Array[Enum] / Array Element access
git-svn-id: trunk@61496 -
2019-06-30 19:16:53 +00:00
martin
7da8446021 FpDebug, tests: More tests. Address-Of and typecast/convert
git-svn-id: trunk@61495 -
2019-06-30 19:16:51 +00:00
martin
29e1a3298f Debug-TestBase: Clean up
git-svn-id: trunk@61494 -
2019-06-30 19:16:49 +00:00
martin
5cfa46a52f FpDebug, tests: Enable Tests for constants
git-svn-id: trunk@61452 -
2019-06-23 11:14:26 +00:00
martin
2a8f0cab85 FpDebug: More tests.
git-svn-id: trunk@61449 -
2019-06-23 11:14:20 +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
9341db12f7 FpDebug, test: fix test.
git-svn-id: trunk@61418 -
2019-06-18 18:39:20 +00:00
martin
5bf0e570bf FpDebug: Updated tests for "UnicodeString" workaround for wrong dwarf-highbound fpc issue #0035359, see also issue #0035340
git-svn-id: trunk@60982 -
2019-04-15 14:03:25 +00:00
martin
bb4ab8881c FpDebug: Test for - Check char-size for strings. Recognize "UnicodeString", issue #0035340
git-svn-id: trunk@60931 -
2019-04-11 16:25:29 +00:00
martin
209dc36684 LazDebuggerFp: Fix range-check / overflow with bad data.
git-svn-id: trunk@60707 -
2019-03-17 02:49:05 +00:00
martin
f4f3307ca9 LazDebuggerFp: Prevent crash when watches are freed, after debugger was destroyed
git-svn-id: trunk@60692 -
2019-03-16 02:46:15 +00:00
martin
3d8420c410 LazDebuggerFp: Test IUnknown (only test for no crash). See issue #35129 / missing file for commit rev 60477 #801d5e137c
git-svn-id: trunk@60520 -
2019-02-26 18:52:01 +00:00
martin
99e95a0721 FpDebug: Test, fix asm compilation
git-svn-id: trunk@60359 -
2019-02-07 17:41:00 +00:00
martin
616069b6b2 LazDebuggerFp: Fix context for evaluate on none existing stackframe
git-svn-id: trunk@60357 -
2019-02-07 17:39:06 +00:00
martin
e838d16727 LazDebuggerFp: Fix context for evaluate on higher stack frames (count vs index)
git-svn-id: trunk@60356 -
2019-02-07 17:06:10 +00:00
martin
dac68e42e2 FpDebug, LazDebuggerFp: fix last frame in stack list / allow evaluate more frames
git-svn-id: trunk@60335 -
2019-02-04 18:26:11 +00:00
martin
764ceb2e97 FpDebug: TestCase
git-svn-id: trunk@60215 -
2019-01-25 00:45:12 +00:00
martin
ceb99f5f2e FpDebug: TestCase, more refactor internal breakpoints.
git-svn-id: trunk@60161 -
2019-01-23 21:30:13 +00:00
martin
9fffa25dc3 FpDebug: TestCase, more refactor internal breakpoints.
git-svn-id: trunk@60143 -
2019-01-22 02:13:51 +00:00
martin
af994a75c8 LazDebuggerFp: use dsInternalPause to set/unset breakpoints
git-svn-id: trunk@60035 -
2019-01-08 18:42:59 +00:00
martin
f5e720ed1e LazDebuggerFp/FpDebug: tests
git-svn-id: trunk@59964 -
2019-01-01 15:12:06 +00:00
martin
e74b00e9dc LazDebuggerFp: Fix, showing pchar and string version for index access of string/pchar
git-svn-id: trunk@59862 -
2018-12-19 01:42:45 +00:00
martin
4315025999 LazDebuggerFp: Implement OnIdle, make debug history being recorded.
git-svn-id: trunk@59818 -
2018-12-13 17:09:27 +00:00
martin
6c33c7fc13 LazDebuggerFp: Implement conditional breakpoints / fix nil access
git-svn-id: trunk@59815 -
2018-12-13 14:27:51 +00:00
martin
3cffd5e3da LazDebuggerFp: Implement conditional breakpoints
git-svn-id: trunk@59814 -
2018-12-13 12:56:18 +00:00
martin
f4544c2ac8 LazDebuggerFp: Prevent crash, if debugger instance is destroyed before logging is handled.
git-svn-id: trunk@59787 -
2018-12-10 23:26:09 +00:00
martin
d4079f1a6c FpDebug: test cases
git-svn-id: trunk@59782 -
2018-12-10 21:36:50 +00:00
martin
82671b823c FpDebug: test cases
git-svn-id: trunk@59781 -
2018-12-10 21:17:09 +00:00
martin
801ce13eb6 LazDebuggerFp: fix getting exception class/msg for 64bit targets
git-svn-id: trunk@59742 -
2018-12-06 20:20:23 +00:00
martin
d5cfafb571 LazDebuggerFp: linux, fix running process-access in debug-thread (needed when accessing outer vars for nested procs, for which stack has not yet been evaluated)
git-svn-id: trunk@59696 -
2018-11-29 14:52:08 +00:00
martin
abec187707 LazDebuggerFp: tests, cthreads for linux
git-svn-id: trunk@59695 -
2018-11-29 14:00:10 +00:00
martin
56745aed40 LazDebuggerFp: more tests
git-svn-id: trunk@59688 -
2018-11-28 20:56:25 +00:00
martin
503598554b LazDebuggerFp: starting testcase
git-svn-id: trunk@59675 -
2018-11-27 01:24:22 +00:00
martin
0d4fa259a4 LazDebuggerFp: deal with fpc info for nested procs variable scopes.
git-svn-id: trunk@59656 -
2018-11-25 20:01:36 +00:00
martin
895fe14aed LazDebuggerFp: handle "ignored exceptions" list
git-svn-id: trunk@59655 -
2018-11-25 20:00:38 +00:00
martin
d241c5e016 LazDebuggerFp: more nil handling safety
git-svn-id: trunk@59608 -
2018-11-19 18:07:28 +00:00
martin
96fdbb9d93 LazDebuggerFp: Fix crash, if string read from debugged app is nil / debugged app exception info
git-svn-id: trunk@59607 -
2018-11-19 17:48:12 +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
37e86f2e05 LazDebuggerFp: fix missing result for dcPause
git-svn-id: trunk@59568 -
2018-11-17 12:35:51 +00:00
martin
f275a9445c LazDebuggerFp: return typeinfo for watches
git-svn-id: trunk@59558 -
2018-11-16 13:18:28 +00:00
martin
a67ceac77f LazDebuggerFp: added auto-typecast for objects (watches, inspect / not working for hints)
git-svn-id: trunk@59556 -
2018-11-16 11:13:43 +00:00
martin
84e5ae329a FpDebug: Workaround for dangling thread object
git-svn-id: trunk@59551 -
2018-11-15 22:41:07 +00:00
martin
9daf9a9f45 LazDebuggerFp: Fix/Implement "Reset Debugger" / Refactor: Use LockRelease from base class.
git-svn-id: trunk@59521 -
2018-11-11 21:14:00 +00:00
martin
e31e672112 LazDebuggerFp: fix mem leaks in logging code.
git-svn-id: trunk@59511 -
2018-11-11 18:27:22 +00:00
martin
c54639d227 FpDebug: Allow to specify poNewConsole on windows
git-svn-id: trunk@59488 -
2018-11-07 23:13:11 +00:00
mattias
1fb0143559 lazdebuggers: less hints
git-svn-id: trunk@59214 -
2018-10-01 15:13:00 +00:00
martin
b3d8d81fe7 Debugger: let the debugger request certain compiler opts (eg: needs dwarf, or external info)
git-svn-id: trunk@58680 -
2018-08-05 13:05:21 +00:00
martin
9f8beba93e Debugger: let the debugger request certain compiler opts (eg: needs dwarf, or external info)
git-svn-id: trunk@58679 -
2018-08-05 12:26:21 +00:00
martin
0e9f870052 FpDebug: Fix crash, due to memmanager not initialized
git-svn-id: trunk@58503 -
2018-07-13 15:21:30 +00:00
martin
5d541aec27 DebuggerIntf: Watches can now be created in Updating state. Allowing to bundle change notifications for the debugger backend.
git-svn-id: trunk@58465 -
2018-07-08 20:51:00 +00:00
martin
7dca373ee2 added $IDEBuildOptions
git-svn-id: trunk@58464 -
2018-07-08 15:50:37 +00:00
martin
e23fd4d433 fp debugger: event log for breakpoint hit
git-svn-id: trunk@58434 -
2018-07-03 14:55:45 +00:00
martin
fdb9c0806b fp + fp lldb: allow external DebugInfo on MacOs
git-svn-id: trunk@58406 -
2018-06-25 17:58:46 +00:00
martin
7268f484b5 FpDebugger: fix refreshing thread window when stepping
git-svn-id: trunk@58313 -
2018-06-18 20:24:22 +00:00
martin
cef14db081 DebuggerIntf: Refactor, evaluate now takes a callback
git-svn-id: trunk@58238 -
2018-06-12 22:58:35 +00:00
joost
52df2b872b fpdebug: Fixed mem-leak and do not show threads when not running
git-svn-id: trunk@58161 -
2018-06-06 21:13:16 +00:00
joost
317bc74ea3 fpdebug: Fill the IDE's list of threads
git-svn-id: trunk@58146 -
2018-06-05 20:44:25 +00:00
joost
3d621d07cc fpdebug: FpDebug is not in Alpha state anymore
git-svn-id: trunk@58129 -
2018-06-04 21:59:02 +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
mattias
4354b305be lazdebuggers: less hints
git-svn-id: trunk@57789 -
2018-05-04 10:42:40 +00:00
martin
135655e435 fpdebug: fix crash on linux
git-svn-id: trunk@57784 -
2018-05-03 19:37:19 +00:00
martin
ee449027d9 fpdebug: fix compile on linux
git-svn-id: trunk@57783 -
2018-05-03 19:25:09 +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
martin
75193aadbe LazDebuggerFP: Fix logging. Accessing Application.QueueAsync from thread caused leaks
git-svn-id: trunk@57780 -
2018-05-03 18:41:06 +00:00
mattias
46e46e8b91 components: less hints
git-svn-id: trunk@51787 -
2016-03-01 15:28:31 +00:00
martin
20e4fc2e10 fpdebbugger: fix releasing context / revision 50963 #b5434dee75
git-svn-id: trunk@51579 -
2016-02-10 18:25:24 +00:00
mattias
eda918198b lazdebuggers: fixed crash if watchlist empty, bug #29238 from Anton
git-svn-id: trunk@50999 -
2015-12-22 22:43:21 +00:00
mattias
b5434dee75 fpdebug: fixed mem leaks, bug #29227 patch from Anton
git-svn-id: trunk@50963 -
2015-12-21 14:48:56 +00:00
martin
fe30e47f9b fpdebug: added params to stack (fixed for frames without context)
git-svn-id: trunk@49132 -
2015-05-22 14:48:42 +00:00
martin
2c1cc645e3 fpdebug: added params to stack
git-svn-id: trunk@49123 -
2015-05-20 21:00:18 +00:00
martin
eb15eb559f fpdebug: fix crash on pause (missing callstack)
git-svn-id: trunk@49099 -
2015-05-18 22:52:38 +00:00
martin
88dd20916e fpdebug: prevent crash due to early self.destroy, when stopping the debugger
git-svn-id: trunk@48999 -
2015-05-12 20:00:45 +00:00
martin
fe33405ec7 fpdebug: fix free symbol
git-svn-id: trunk@48998 -
2015-05-12 18:25:45 +00:00
joost
e0d996a464 LazDebuggerFp: Fixed mem-leak
git-svn-id: trunk@48524 -
2015-03-27 22:05:19 +00:00
joost
e2399a4c0d FpDebug: Fixed memory corruption by encapulating log-strings inside a class instead of a record
git-svn-id: trunk@48523 -
2015-03-27 20:12:02 +00:00
joost
f8ba7fd9c8 LazDebuggerFp: Ability to select console to attach debuggee onto
git-svn-id: trunk@48455 -
2015-03-22 12:53:35 +00:00
mattias
5da1a8e4da lazdebuggerfp: less hints
git-svn-id: trunk@47613 -
2015-02-07 09:47:01 +00:00
mattias
a46dc8915a IDE: added TDebuggerIntf.CanExternalDebugSymbolsFile
git-svn-id: trunk@47107 -
2014-12-04 19:14:22 +00:00
mattias
d7122737e1 IDEIntf: renamed TDebuggerIntf.HasExePath to NeedsExePath, old kept as deprecated
git-svn-id: trunk@47106 -
2014-12-04 18:42:47 +00:00
mattias
612c14ef16 lazdebugger: fixed mem leak in TFPDBGDisassembler.PrepareEntries
git-svn-id: trunk@46954 -
2014-11-22 01:11:44 +00:00
mattias
9103387c7e lazdebugger: fixed mem leak TFpDebugDebugger.Create
git-svn-id: trunk@46953 -
2014-11-22 00:41:19 +00:00
mattias
39eddb6bfb lazdebugger: fixed mem leak SetSoftwareExceptionBreakpoint
git-svn-id: trunk@46952 -
2014-11-22 00:37:59 +00:00
mattias
3b64b2922b lazdebugger: queue async calls only once
git-svn-id: trunk@46951 -
2014-11-22 00:32:46 +00:00
mattias
f9700880fa lazdebugger: remove queued async calls
git-svn-id: trunk@46950 -
2014-11-22 00:12:06 +00:00
mattias
858999dd3e lazdebuggerfp: fixed typo
git-svn-id: trunk@46947 -
2014-11-21 23:54:59 +00:00
mattias
3037a9fb1a lazdebuggerfp: clean up
git-svn-id: trunk@46946 -
2014-11-21 23:54:12 +00:00
mattias
e899da956f lazdebuggerfp: less hints
git-svn-id: trunk@46943 -
2014-11-21 23:41:35 +00:00
mattias
2a62d80f76 lazdebuggerfp: clean up
git-svn-id: trunk@46942 -
2014-11-21 23:40:26 +00:00
mattias
92b8da3b52 lazdebugger: fixed typo
git-svn-id: trunk@46939 -
2014-11-21 22:39:30 +00:00
joost
9070ac0b2c FpDebugger (pure): Added logging, enable with define DBG_FPDEBUG_VERBOSE
git-svn-id: trunk@46143 -
2014-09-06 18:40:30 +00:00
joost
4b8e6daa2f FpDebugger (pure): On a next, only stop if the current instruction is the first instruction of a line. This is to solve a problem in fpcs debuginfo.
git-svn-id: trunk@46136 -
2014-09-05 20:37:43 +00:00
joost
bdbccce289 FpDebugger (pure): Use a pseudo-terminal instead of pipes to read the debuggees out- and in-put
git-svn-id: trunk@46070 -
2014-08-24 12:22:23 +00:00
joost
daaa427f54 FpDebugger (pure): Re-direct console output to the terminal-output debug window on Linux
git-svn-id: trunk@46058 -
2014-08-22 15:47:46 +00:00
joost
fef936b68e FpDebugger (pure): Solved AV when the debuggee already has been stopped when a breakpoint is freed.
git-svn-id: trunk@45935 -
2014-07-20 17:50:19 +00:00
joost
70300be121 FpDebugger (pure): Remove breakpoints from within the debug-thread on Linux
git-svn-id: trunk@45934 -
2014-07-20 14:36:42 +00:00
joost
ac95b9c55d FpDebugger (pure): Patch from Colin Western to resolve relative filenames in Dwarf-debug info.
git-svn-id: trunk@45933 -
2014-07-20 13:27:52 +00:00
joost
33460197fd FpDebugger (pure): Delay the removal of breakpoint when the debuggee is running.
git-svn-id: trunk@45930 -
2014-07-19 21:33:58 +00:00
joost
be7b70f172 FpDebugger (pure): Re-wrote RunTo using a TDbgControllerCmd
git-svn-id: trunk@45900 -
2014-07-17 18:53:58 +00:00
joost
6ae20a6ef6 FpDebugger (pure): Fix for showing exception-messages on Linux
git-svn-id: trunk@45899 -
2014-07-17 17:37:10 +00:00
joost
d349c421e3 FpDebugger (pure): Avoid usage of TThread.Queue, because it is not available in fpc 2.6.4
git-svn-id: trunk@45879 -
2014-07-15 16:33:30 +00:00
joost
e5f73f7d0f FpDebuger (pure): Fix for pausing the debuggee
git-svn-id: trunk@45866 -
2014-07-14 20:28:34 +00:00
joost
8d79ffd221 FpDebugger (pure): Handle a failing pause properly
git-svn-id: trunk@45859 -
2014-07-13 21:40:40 +00:00
joost
c021527f22 FpDebugger (pure): Pass the right mode to the dissasembler when cross-debugging
git-svn-id: trunk@45849 -
2014-07-12 21:36:50 +00:00
joost
359ca050e3 FpDebugger (pure): Fixed stepping after a quick-pause
git-svn-id: trunk@45845 -
2014-07-12 18:28:16 +00:00
joost
01aef7a619 FpDebugger (pure): Fix for evaluating expressions while cross-debugging
git-svn-id: trunk@45844 -
2014-07-12 18:18:45 +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
3c1fb6e10f FpDebugger (pure): On linux all communication with the debuggee has to be done in the thread that started the debuggee.
git-svn-id: trunk@45781 -
2014-07-04 21:49:47 +00:00
joost
5ca2fb27e0 FpDebugger (pure): If the debugger failed to start, clear TDebuggerIntf.FileName to make sure the state of the debugger is set properly on the next start.
git-svn-id: trunk@45599 -
2014-06-22 08:34:03 +00:00
joost
fda010dfd1 FpDebugger (pure): The dx-register is used to obtain the location of an exception. Fix for the difference in the dwarf-index of the dx-register on i386 and x86_64.
git-svn-id: trunk@45429 -
2014-06-09 14:26:59 +00:00
joost
3fb55d6ed6 FpDebug (pure): Added thread-safe loggingsystem with three log-levels. The log-levels dllInfo and dllError are used to show messages/errors in the ide.
The new log-system is used to show a message when there is no dSym-bundle with Dwarf-debug info or if the ide has not enough rights to debug applications. (OS/X)

git-svn-id: trunk@45382 -
2014-06-07 14:27:48 +00:00
joost
b7f27e1bad FpDebugger (pure): Read software-breakpoint information properly for 64bit-targets.
git-svn-id: trunk@45285 -
2014-06-01 16:28:41 +00:00
joost
daccdeda63 FpDebugger (pure): Use dsInternalPause to trigger setting the breakpoints just after the debuggee has been started. Do not try to evaluate the callstack and the disassembler at this moment.
git-svn-id: trunk@45283 -
2014-06-01 13:58:46 +00:00
joost
96d22b6116 FpDebugger (pure): Set current location after a step/next/step-out etc.
git-svn-id: trunk@45281 -
2014-06-01 09:48:21 +00:00
joost
61775433a1 FpDebugger (pure): Pause on fpc software-breakpoints
git-svn-id: trunk@45146 -
2014-05-22 07:41:01 +00:00
martin
5fcf18bf30 FpDebugger (pure): eval hints and debug-inspect for selected stackframe
git-svn-id: trunk@44992 -
2014-05-10 12:36:04 +00:00
martin
87080f5081 FpDebugger (pure): function name in stack
git-svn-id: trunk@44989 -
2014-05-10 02:01:14 +00:00
martin
95096bfbda FpDebugger (pure): eval locals for selected stackframe
git-svn-id: trunk@44988 -
2014-05-10 01:46:32 +00:00
martin
3a712955ca FpDebugger (pure): eval watches for selected stackframe
git-svn-id: trunk@44987 -
2014-05-10 00:44:49 +00:00
martin
7731842232 FpDebugger (pure): eval watches async / more responsive
git-svn-id: trunk@44977 -
2014-05-08 18:23:16 +00:00
martin
c95fdd7dbf FpDebugger (pure): hint evaluation / debug-inspector
git-svn-id: trunk@44975 -
2014-05-08 17:40:30 +00:00
joost
f25dee1d51 LazDebuggerFp (pure): Exception handling. (no software exceptions)
git-svn-id: trunk@44970 -
2014-05-07 18:32:50 +00:00
joost
31762452ae LazDebuggerFp (pure): Handle working-directory and environment of debuggee
git-svn-id: trunk@44936 -
2014-05-06 19:25:38 +00:00
joost
04283997b4 LazDebuggerFp (pure): Pass arguments to debuggee
git-svn-id: trunk@44928 -
2014-05-05 20:15:42 +00:00
martin
9056ee62b2 FpDebugger (pure): watches error checking
git-svn-id: trunk@44920 -
2014-05-05 03:06:28 +00:00
joost
c700bfe172 LazDebuggerFp (pure): Implemented basic callstack
git-svn-id: trunk@44906 -
2014-05-04 12:08:50 +00:00
martin
6281c4adcf FpDebug: started DisplayFormat
git-svn-id: trunk@44896 -
2014-05-03 00:14:44 +00:00
joost
e7779bd476 LazDebuggerFp (pure): Implemented step-into
git-svn-id: trunk@44862 -
2014-04-30 20:44:22 +00:00
martin
5b3787c8ca FpDebugger (pure): mem leak with watches and locals
git-svn-id: trunk@44817 -
2014-04-26 16:11:02 +00:00
martin
6c8397b14e FpDebugger (pure): Add Locals
git-svn-id: trunk@44816 -
2014-04-26 15:46:43 +00:00
joost
36e6e3a257 LazDebuggerFp (pure): Implemented step-out
git-svn-id: trunk@44804 -
2014-04-24 16:06:50 +00:00
joost
fc35f675bc LazDebuggerFp (pure): Resolved problems with freeing breakpoints after the debuggee has ended.
git-svn-id: trunk@44771 -
2014-04-20 19:39:35 +00:00
joost
e1881c3f4c LazDebuggerFp (pure): Implemented RunTo
git-svn-id: trunk@44768 -
2014-04-20 11:00:33 +00:00