Commit Graph

479 Commits

Author SHA1 Message Date
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
joost
f96d70776c LazDebuggerFp (pure): Revert of r44766 #5cbd21f02c, leads to problems on Windows
git-svn-id: trunk@44767 -
2014-04-20 10:54:50 +00:00
joost
5cbd21f02c LazDebuggerFp (pure): The first time the debuggee is paused use the state dsInit instead of dsPause.
git-svn-id: trunk@44766 -
2014-04-20 10:33:15 +00:00
joost
f46dd07c9d LazDebuggerFp (pure): Ability to set breakpoints while the debuggee is running
git-svn-id: trunk@44754 -
2014-04-17 21:25:10 +00:00
joost
a69e382e98 LazDebuggerFp (pure): Ability to pause debuggee (Windows)
git-svn-id: trunk@44749 -
2014-04-16 20:19:13 +00:00
joost
86f9de7b2a LazDebuggerFp (pure):
* When a breakpoint is hit, pass the correct breakpoint to the TFpDebugDebugger.
 * Solve an AV when the IDE exits

git-svn-id: trunk@44743 -
2014-04-16 09:15:10 +00:00
joost
ad9ca5afa5 LazDebuggerFp (pure): Fixed compilation after r44741 #a52defb4e1
git-svn-id: trunk@44742 -
2014-04-16 08:47:58 +00:00
joost
a52defb4e1 LazDebuggerFp (pure): Ability to add/delete/enable/disable breakpoints when the debuggee is not running or paused.
git-svn-id: trunk@44741 -
2014-04-16 08:05:58 +00:00
joost
acecc4a260 LazDebuggerFp (pure): Implemented step-over (next)
git-svn-id: trunk@44737 -
2014-04-15 19:22:01 +00:00
joost
22b80b3cf5 LazDebuggerFp (pure): StepIntoStr -> StepIntoInstr
git-svn-id: trunk@44728 -
2014-04-14 16:59:05 +00:00
joost
ae35141581 LazDebuggerFp (pure): Implemented StepOverInstr
git-svn-id: trunk@44725 -
2014-04-14 16:39:35 +00:00
joost
c6d5681d88 LazDebuggerFp (pure): Add statement-index and statement-count to disasembly-statements
git-svn-id: trunk@44712 -
2014-04-13 09:44:24 +00:00
joost
5ff4273da5 LazDebuggerFp (pure): Ability to stop debugging while the debuggee is paused.
git-svn-id: trunk@44705 -
2014-04-12 17:54:07 +00:00
joost
c7e539dc46 LazDebuggerFp (pure): Added reading of register support to TDbgMemReader.
git-svn-id: trunk@44689 -
2014-04-11 21:10:34 +00:00
joost
7d0288be35 LazDebuggerFp (pure): Set function result when requesting a dcRun command.
git-svn-id: trunk@44671 -
2014-04-10 20:13:07 +00:00
joost
52282ede03 LazDebuggerFp (pure): Implemented single-stepping (assembly level) and resetting of a breakpoint after it has been hit. (Windows)
git-svn-id: trunk@44670 -
2014-04-10 20:11:41 +00:00
joost
e39d578a44 LazDebuggerFp (pure): Added basic dissasembler
git-svn-id: trunk@44656 -
2014-04-08 22:05:18 +00:00
martin
e927ab95bc LazDebuggerFp (pure): watches, use pretty printer
git-svn-id: trunk@44647 -
2014-04-08 14:01:03 +00:00
martin
15754fca9a LazDebuggerFp (pure): add line info
git-svn-id: trunk@44646 -
2014-04-08 13:35:38 +00:00
joost
b889db60c8 LazDebuggerFp (pure): Use pretty-printer to show watch-values
git-svn-id: trunk@44645 -
2014-04-08 06:24:24 +00:00
joost
03287ea60f LazDebuggerFp (pure): Fixed crash of the IDE on exit.
git-svn-id: trunk@44638 -
2014-04-07 17:12:21 +00:00
martin
c5160e7364 LazDebuggerFp (pure): do not crash range check
git-svn-id: trunk@44637 -
2014-04-07 17:10:36 +00:00
martin
8536f38448 LazDebuggerFp (pure): do not crash range check
git-svn-id: trunk@44635 -
2014-04-07 16:57:19 +00:00
joost
813e158c7d FpDebug: Fixed compilation after recent changes and with fpc 2.6.2
git-svn-id: trunk@44632 -
2014-04-07 16:34:55 +00:00
joost
2a7b0ee37e FpDebug:
* Implemented basic TFpDbgMemReader. It handles reading memory, reading register values is still not implemented
 * Implemented very basic evaluation of watches.

git-svn-id: trunk@44630 -
2014-04-07 09:23:40 +00:00
joost
0eaa8042c5 FpDebug: Basic support for getting register-values.
git-svn-id: trunk@44626 -
2014-04-06 19:13:38 +00:00
joost
3e2a0dc513 FpDebug: Use one single worker-thread to to handle the debugging. On Windows, debug-events are only send to the thread that started the process.
git-svn-id: trunk@44619 -
2014-04-06 13:57:43 +00:00
martin
2ced428da5 LazDebuggerFp (pure): start watches framework
git-svn-id: trunk@44616 -
2014-04-05 23:35:41 +00:00
martin
f176ceeda1 LazDebuggerFp (pure): renamed package / moved location
git-svn-id: trunk@44615 -
2014-04-05 23:25:22 +00:00
martin
be059632cf LazDebuggerFp (pure): renamed package / moved location
git-svn-id: trunk@44614 -
2014-04-05 23:22:56 +00:00