Commit Graph

212 Commits

Author SHA1 Message Date
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
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
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
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
ac8e91f785 LazDebuggerFp: Enable TypedAddress
git-svn-id: trunk@61919 -
2019-09-24 23:36:39 +00:00
martin
ce36789c36 LazDebuggerFp: Improve OnIdle handling
git-svn-id: trunk@61893 -
2019-09-16 23:14:19 +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
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
c66f2fd121 LazDebuggerFp: Clean up
git-svn-id: trunk@61745 -
2019-08-22 21:33:22 +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
3ed45630a0 LazDebuggerFp: slightly faster watch eval.
git-svn-id: trunk@61517 -
2019-07-03 18:26:26 +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
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
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
af994a75c8 LazDebuggerFp: use dsInternalPause to set/unset breakpoints
git-svn-id: trunk@60035 -
2019-01-08 18:42:59 +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
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
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
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
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