mattias
d0e20a7e06
fpdebug: clean up
...
git-svn-id: trunk@62108 -
2019-10-22 15:10:12 +00:00
martin
23a034b033
FpDebug: Change/Fix shortstring detection after array stride fix in fpc. (change by Issue #0036144 )
...
git-svn-id: trunk@62048 -
2019-10-13 12:25:42 +00:00
martin
b11f360499
FpDebug: limit array stride workaround to fpc < 3.3 / Fix stride calculations
...
git-svn-id: trunk@62047 -
2019-10-13 12:25:40 +00:00
martin
765c460114
FpDebug: small change to array address error checks
...
git-svn-id: trunk@62046 -
2019-10-13 12:25:39 +00:00
martin
22aca35233
FpDebug: Use LastError from value object.
...
git-svn-id: trunk@62045 -
2019-10-13 12:25:37 +00:00
martin
fc63e31186
FpDebug: Prevent a stack overflow, recursive display of record in record constructor "TFoo.Create(a: TFoo)". Outer "AFlags" were hidden, preventing the recursion from being detected
...
git-svn-id: trunk@62037 -
2019-10-11 12:07:24 +00:00
martin
ec3e5b6a07
FpDebug: fix crash on nil-deref.
...
- On Windows FCurrentThread is nil during the ExitProcess event.
- On all platforms CreateThread can (in theory) return nil.
git-svn-id: trunk@62034 -
2019-10-11 12:07:19 +00:00
martin
ec207608a5
FpDebug: Windows, when terminating the process (stop debugger) collect all pending events.
...
git-svn-id: trunk@62033 -
2019-10-11 12:07:17 +00:00
martin
c1cec4c5d9
FpDebug: Add operators mod, and, or, xor
...
git-svn-id: trunk@62028 -
2019-10-10 21:30:20 +00:00
martin
29fa84ca54
FpDebug: Pascal Expression Parser, add constant ansistring. Add operator to compare/concatenate strings
...
git-svn-id: trunk@62026 -
2019-10-10 21:30:16 +00:00
martin
61e152cc7d
FpDebug: accept PChar(nil) as string
...
git-svn-id: trunk@62025 -
2019-10-10 21:30:14 +00:00
martin
cd76eb1ef2
FpDebug: Improve wide/utf8 string/char handling
...
git-svn-id: trunk@62021 -
2019-10-10 12:19:40 +00:00
martin
3374d667aa
FpDebug: Fix overload compile error with fpc 3.2 / DestSize can not exceed the int64 range
...
git-svn-id: trunk@62019 -
2019-10-10 11:06:47 +00:00
martin
6fb009a232
FpDebug: Fix calculating length of open array param
...
git-svn-id: trunk@62018 -
2019-10-10 01:01:43 +00:00
martin
9bdf6eb943
FpDebug: Tests for TFpDbgValueSize operators
...
git-svn-id: trunk@62015 -
2019-10-09 20:06:26 +00:00
martin
9997f386ba
FpDebug: bitpacked array. workaround for issue #36144
...
git-svn-id: trunk@62013 -
2019-10-09 20:06:22 +00:00
martin
cbe21ff4f3
FpDebug: implement watching bitpacked array/record
...
git-svn-id: trunk@62012 -
2019-10-09 20:06:21 +00:00
martin
f96c6b9f66
FpDebug: Fix "set of (10..20)" (subrange)
...
git-svn-id: trunk@62011 -
2019-10-09 20:06:18 +00:00
martin
8b2fa08f3c
FpDebug: More fixes to compile for Mac
...
git-svn-id: trunk@62009 -
2019-10-08 22:50:23 +00:00
martin
4b627656b1
FpDebug: Fix compile for Mac / removed 2 left over declarations / error introduced in watchpoint work
...
git-svn-id: trunk@62007 -
2019-10-08 18:18:10 +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
4020102b98
FpDebug: Refactor Step-Into. No longer use watchpoints.
...
git-svn-id: trunk@61989 -
2019-10-05 11:09:47 +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
9b5b0c8db2
FpDebug: Check stackframe for FindContext in range / out of index
...
git-svn-id: trunk@61985 -
2019-10-05 11:09:40 +00:00
martin
1097debc48
FpDebug: fix crash when evaluating enum "member". (The identifier representing one of the values of the enum)
...
git-svn-id: trunk@61969 -
2019-10-03 18:38:13 +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
69d200ec8d
FpDebug: check if running before scheduling a pause signal (needed so pause can be called when ProcessLoop is not running / but also checks if the loop does a lot of deInternalContinue
...
git-svn-id: trunk@61966 -
2019-10-03 18:38:08 +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
aa60af3f9e
FpDebug: Remove circular refs
...
git-svn-id: trunk@61953 -
2019-09-29 21:43:54 +00:00
martin
ab5154ae18
FpDebug: Move type related code from TFpSymbolDwarfDataProc to TFpSymbolDwarfTypeProc.
...
git-svn-id: trunk@61952 -
2019-09-29 21:43:53 +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
ef00bc4391
FpDebug: PascalBuilder, re-use existing procedure info.
...
git-svn-id: trunk@61941 -
2019-09-28 19:08:21 +00:00
martin
6dbfb412aa
FpDebug: Remove circular ref handling for LocalProcInfo (no longer circular)
...
git-svn-id: trunk@61940 -
2019-09-28 19:08:19 +00:00
martin
b67765f419
FpDebug: Move cache for SelfParam to Context / remove circular ref for LocalProc.
...
git-svn-id: trunk@61939 -
2019-09-28 19:08:18 +00:00
martin
df73d42186
FpDebug: Remove duplicate ApplyContext calls
...
git-svn-id: trunk@61938 -
2019-09-28 19:08:16 +00:00
martin
82f84c23c4
FpDebug: Remove FlastResult from FindSymbol
...
git-svn-id: trunk@61937 -
2019-09-28 19:08:15 +00:00
martin
2ec08f8a9c
FpDebug: rename TDbgInfo.FindSympol into FindProcSymbol
...
git-svn-id: trunk@61936 -
2019-09-28 19:08:13 +00:00
martin
c7ccbdc276
FpDebug: Change ParentTypeInfo to only hold the structure/array/enum to which the value belongs. Also move it to TFpValue to make it circle-ref free.
...
Introduce LocalProcInfo for the "local procedure" (if any) to which the symbol belongs.
git-svn-id: trunk@61935 -
2019-09-28 19:08:11 +00:00
martin
0b2536f3f0
FpDebug: Merge StructTypeCast.GetMember... to parent class methods
...
git-svn-id: trunk@61934 -
2019-09-28 19:08:09 +00:00
martin
320accefd9
FpDebug: allow SetLastError( no-error )
...
git-svn-id: trunk@61933 -
2019-09-28 19:08:07 +00:00
martin
436265bf70
FpDebug: Remove unused member list
...
git-svn-id: trunk@61932 -
2019-09-28 19:08:06 +00:00
martin
2ee62a6a50
FpDebug: Remove TypeCastTargetType, use DwarfTypeSymbol (former Owner) which now includes all outer (un-nested) types
...
git-svn-id: trunk@61925 -
2019-09-26 16:37:26 +00:00
martin
ca3bcf9fa2
FpDebug: Clean up. Remove ValueSymbol => same as DbgSymbol
...
git-svn-id: trunk@61924 -
2019-09-26 16:37:25 +00:00
martin
9c280bd0e3
FpDebug: Refactor TFpSymbol.Size
...
git-svn-id: trunk@61923 -
2019-09-26 16:37:22 +00:00
martin
d7a8a70916
FpDebug: Make Pointer deref work without item size. (In case size is not avail, or too big)
...
git-svn-id: trunk@61920 -
2019-09-24 23:36:40 +00:00
martin
9b5a4935a0
FpDebug: fix wrong type for bound-symbol fields / Enable TypedAddress
...
git-svn-id: trunk@61918 -
2019-09-24 23:36:37 +00:00
martin
544b5e616b
FpDebug: rename var
...
git-svn-id: trunk@61917 -
2019-09-24 23:36:35 +00:00
martin
4f54cfa13b
FpDebug: clean up a few occasions where FContext is set twice
...
git-svn-id: trunk@61916 -
2019-09-24 23:36:34 +00:00
martin
f37ef11330
FpDebug: Remove HasBounds (which did not have a ValueObject). Make SubRanges check for their own size too.
...
git-svn-id: trunk@61915 -
2019-09-24 23:36:32 +00:00
martin
1e7c605983
FpDebug: more verbose last error
...
git-svn-id: trunk@61914 -
2019-09-24 23:36:30 +00:00
martin
ea3dfb1fa9
FpDebug: Improve detection of class vs record vs object
...
git-svn-id: trunk@61903 -
2019-09-19 17:29:17 +00:00
martin
f9d28f268b
FpDebug: 64bit debugger exe does not have a 10bit Extended (as in 32bit exe). Cross debugger can therefore not display such values. Return an error.
...
git-svn-id: trunk@61902 -
2019-09-19 13:08:44 +00:00
martin
e2590a7c19
FpDebug: Ensure that the Context is passed on to new Value-objects. Fix crash on nil pointer
...
git-svn-id: trunk@61900 -
2019-09-18 22:14:02 +00:00
martin
804b5a7be4
FpDebug: Windows, fix closing handles for sub-processes (not currently debugged). Also correctly detach.
...
git-svn-id: trunk@61892 -
2019-09-16 21:49:27 +00:00
martin
4137324e48
FpDebug: Check result of ReadThreadState. Do not use invalid data (on windows this lead to nil deref crash)
...
git-svn-id: trunk@61891 -
2019-09-16 21:49:25 +00:00
martin
52a25d352c
FpDebug: move ...Command.Init into the thread. In case it needs to access process data.
...
git-svn-id: trunk@61883 -
2019-09-15 13:22:01 +00:00
martin
618ad4ba32
FpDebug: Fix stepping over an breakpoint that continues (condition/auto-continue/...) / Fix stepping over recursive calls
...
git-svn-id: trunk@61882 -
2019-09-15 13:22:00 +00:00
martin
533670667b
FpDebug: Stepping commands, refactor (partly) detection of "call" instruction.
...
git-svn-id: trunk@61881 -
2019-09-14 14:33:10 +00:00
martin
48f15f849d
FpDebug: Stepping commands, refactor HiddenBreakpoint:
...
- Move to base-class
- No need to check for other breakpoints (fpdebug can now handle several brk at same address)
- Stop step-out, if break failed to set
git-svn-id: trunk@61880 -
2019-09-14 14:33:09 +00:00
martin
c5fe550fbe
FpDebug: Stepping commands, set Handled = Finished => so the loop will end if a step is done
...
git-svn-id: trunk@61878 -
2019-09-14 14:27:48 +00:00
martin
cc1055fbed
FpDebug: Windows, fix stepping over (temp-removed) breakpoint.
...
- If another thread received a signal before the "step-finished signal" (e.g. thread created / pending sigs) then the temp-break was back in place and kept in place -> the break was hit again instead of stepping over it.
- If another thread exited (and the exit signal was received before the "step-finished signal" then no handling was done at all (no threads suspended / no temp remove breaks)
git-svn-id: trunk@61877 -
2019-09-14 14:27:47 +00:00
martin
fc1a436bed
FpDebug: Linux, do not add any SigStop to deferred event list. (It going to be ignored as deInternalContinue anyway)
...
git-svn-id: trunk@61876 -
2019-09-14 14:27:45 +00:00
martin
4be5e94e3e
FpDebug: Linux, do not modify running processes (in case of deInternalContinue, some processes may not be paused)
...
git-svn-id: trunk@61875 -
2019-09-14 14:27:44 +00:00
martin
c7fae55176
FpDebug: fix flag for breakpoint
...
git-svn-id: trunk@61874 -
2019-09-14 14:27:42 +00:00
martin
151412f007
FpDebug: improve stepping.
...
Refactor: Capture initial data before DoContinue
Fix/Improve: Only check and continue the thread that is stepped / Make HiddenBreakpoint hidden from the rest of the controller.
git-svn-id: trunk@61873 -
2019-09-14 14:27:41 +00:00
martin
f17b2727f4
FpDebug: re-arrange order of some classes
...
git-svn-id: trunk@61872 -
2019-09-14 14:27:39 +00:00
martin
85a2eb7321
FpDebug: fixed uninitialized var, could prevent debugger from stopping when app exits
...
git-svn-id: trunk@61869 -
2019-09-13 12:09:32 +00:00
martin
3fce95a1c2
FpDebug: Windows, debugln/dbgs include WOW64 names
...
git-svn-id: trunk@61867 -
2019-09-12 15:33:14 +00:00
martin
c9beb9dffe
FpDebug: Windows, fixed Process.Continue with single step request
...
git-svn-id: trunk@61866 -
2019-09-12 15:33:12 +00:00
martin
cae3f56d05
FpDebug: fixed nil pointer crash when clearing breakpoints, after the debugged app exited.
...
git-svn-id: trunk@61865 -
2019-09-12 15:33:11 +00:00
martin
df6722dd5f
FpDebug: Ensure that exit thread aborts any running command. (The command may change the event-enum-code in FPDEvent, and try to continue running)
...
git-svn-id: trunk@61864 -
2019-09-12 15:33:09 +00:00
martin
63087a3084
FpDebug: Linux, ensure a breakpoint is reported once for each thread, if hit at the same time
...
git-svn-id: trunk@61853 -
2019-09-10 18:52:46 +00:00
martin
230c6983fb
FpDebug: fix compile on linux
...
git-svn-id: trunk@61851 -
2019-09-10 13:33:39 +00:00
martin
1958b8edea
FpDebug: Windows, Added WoW64
...
git-svn-id: trunk@61848 -
2019-09-10 01:40:49 +00:00
martin
a2978c370e
FpDebug: Windows, remove unused code
...
git-svn-id: trunk@61847 -
2019-09-10 01:40:48 +00:00
martin
a3fb24b828
FpDebug: load some kernel functions dynamically, to avoid stopping the IDE from starting on pre-vista systems.
...
git-svn-id: trunk@61846 -
2019-09-09 21:13:57 +00:00
martin
304f6e7be9
FpDebug: Fix requesting process to pause, broken in r61840 #ece9967721
...
git-svn-id: trunk@61845 -
2019-09-08 23:33:01 +00:00
martin
ece9967721
FpDebug: Keep the loop running, if internal stepping causes deBreakPoint without actually hitting a breakpoint. Required because now there can be several such singlesteps in one iteration of the loop.
...
git-svn-id: trunk@61840 -
2019-09-08 19:03:11 +00:00
martin
876682fc9d
FpDebug: Handle hitting breakpoints, that have been removed while the event was waiting. Still need to re-execute the asm instruction that was hidden by int3
...
git-svn-id: trunk@61839 -
2019-09-08 19:03:09 +00:00
martin
2f812db331
FpDebug: Windows, suspend other threads while single stepping over a (temp-removed) breakpoints.
...
- Other threads could cause an event, before the thread does single-step. Then the breakpoint gets restored to early
- Other threads could run through the code, while the breakpoint is removed. They would not stop as they should.
git-svn-id: trunk@61838 -
2019-09-08 19:03:08 +00:00
martin
966ecb9382
FpDebug: debugln for windows API events
...
git-svn-id: trunk@61834 -
2019-09-08 18:52:42 +00:00
martin
e6e7bf4355
FpDebug: Linux, improve "Stop all" loop
...
git-svn-id: trunk@61833 -
2019-09-08 18:52:41 +00:00
martin
595f8b9f3e
FpDebug: Linux, refactor signal handling for signals that need to be postponed. Need to collect signals with no existing thread yet, as they will create that thread.
...
git-svn-id: trunk@61832 -
2019-09-08 18:52:39 +00:00
martin
aa85ec85ed
FpDebug: Linux, removed unused code
...
git-svn-id: trunk@61831 -
2019-09-08 18:52:38 +00:00
martin
1ab353e555
FpDebug: Linux, reduce the amount of calls to temp-remove/restore breakpoints
...
git-svn-id: trunk@61830 -
2019-09-08 18:52:36 +00:00
martin
85a8100c39
FpDebug: Linux, fix for temp-removed breakpoints were not always restored (if another thread had pending events, writing the breakpoint in WaitForEvent would fail, due to thread running / signal not yet collected)
...
git-svn-id: trunk@61829 -
2019-09-08 18:52:35 +00:00
martin
999d567e45
FpDebug: debugln for Linux
...
git-svn-id: trunk@61828 -
2019-09-08 18:52:33 +00:00
martin
9defda8b5c
FpDebug: Linux, prevent crash on nil deref
...
git-svn-id: trunk@61819 -
2019-09-05 20:05:58 +00:00
martin
addf952338
FpDebug: Less debugln noise when checking if break exists
...
git-svn-id: trunk@61818 -
2019-09-05 20:05:57 +00:00
martin
d9731de769
FpDebug, LazDebuggerFp: More debugln for Breakpoints
...
git-svn-id: trunk@61817 -
2019-09-05 20:05:55 +00:00
martin
c86c8d65e6
FpDebug: reduce logged errors for messages that are expected (cannot write to terminated process)
...
git-svn-id: trunk@61816 -
2019-09-05 20:05:54 +00:00
martin
00417e251e
FpDebug: Fix stackframe evaluation / In some cases (if stack win was closed, when brk-point hit) only the top frame was displayed.
...
git-svn-id: trunk@61806 -
2019-09-02 00:44:52 +00:00
martin
9fedf06c5f
FpDebug: fix context (crash) during stack eval / currently unused code
...
git-svn-id: trunk@61805 -
2019-09-02 00:44:50 +00:00
martin
386be78e7c
FpDebug: improve finding a name (or other info) to display type name (un-named pointers) / ^__vtbl_....
...
git-svn-id: trunk@61803 -
2019-09-02 00:44:48 +00:00
martin
34e84c690e
FpDebug: rename variable
...
git-svn-id: trunk@61802 -
2019-09-02 00:44:46 +00:00
martin
5408d59907
FpDebug: Clean up, error will be set already
...
git-svn-id: trunk@61801 -
2019-09-02 00:44:45 +00:00
martin
14ef5eb9fc
FpDebug: Refactor ReadBounds
...
git-svn-id: trunk@61800 -
2019-09-02 00:44:43 +00:00
martin
767d2014d8
FpDebug: Refactor GetDataAddress
...
git-svn-id: trunk@61799 -
2019-09-02 00:44:41 +00:00
martin
538976df00
FpDebug: Implement DW_AT_allocated and DW_AT_associated
...
git-svn-id: trunk@61791 -
2019-08-31 20:59:09 +00:00
martin
6b65857351
FpDebug: Refactor cache for Address/DataAddress
...
git-svn-id: trunk@61790 -
2019-08-31 20:59:08 +00:00
martin
4b2740c97a
FpDebug: DW_AT_data_member_location now handles constant offset too. Moved to ComputeDataMemberAddress
...
git-svn-id: trunk@61789 -
2019-08-31 20:59:06 +00:00
martin
0d8b455ac6
FpDebug: rename one of the two LocationFromTag methods
...
git-svn-id: trunk@61788 -
2019-08-31 20:59:04 +00:00
martin
a8ec28c709
FpDebug: PascalParser, added = / <> operator for classes/interfaces
...
git-svn-id: trunk@61783 -
2019-08-29 15:12:45 +00:00
martin
aa7a4b709c
FpDebug: better detection of skInterface, skClass, skObject, skRecord. Added DW_TAG_interface_type.
...
git-svn-id: trunk@61782 -
2019-08-29 15:12:43 +00:00
martin
d18be77617
FpDebug: Move more fpc specific behaviour to fpdbgdwarffreepascal.pas
...
git-svn-id: trunk@61779 -
2019-08-28 15:36:18 +00:00
martin
94eaca854f
FpDebug: Rename TDbgSymbolForwarder to TFpSymbolForwarder
...
git-svn-id: trunk@61777 -
2019-08-28 15:36:15 +00:00
martin
3469cab38f
FpDebug: Rename FpSymbol.Member* to NestedSymbol* / Distinguish from FpValue.Member
...
git-svn-id: trunk@61776 -
2019-08-28 15:36:13 +00:00
martin
7096bc4c00
FpDebug: pascal-builder improve tolerance for unknown types in classes
...
git-svn-id: trunk@61755 -
2019-08-24 20:39:57 +00:00
martin
280666f480
FpDebug: Fix watches for Pointer
...
git-svn-id: trunk@61753 -
2019-08-24 20:39:54 +00:00
martin
ee04ce523f
FpDebug: Refactor MemberCount for structures
...
git-svn-id: trunk@61752 -
2019-08-24 20:39:53 +00:00
martin
42ba3bfcc7
FpDebug: Refactor TFpSymbolDwarfTypeSubRange bound info
...
git-svn-id: trunk@61751 -
2019-08-24 20:39:51 +00:00
martin
fb065ad50b
FpDebug: Remove unused (and redundant) cache for Members
...
git-svn-id: trunk@61750 -
2019-08-24 20:39:50 +00:00
martin
4c4fa5b667
FpDebug: Remove unused code HasDwarfDataAddress
...
git-svn-id: trunk@61748 -
2019-08-22 21:33:27 +00:00
martin
f92c11c44a
FpDebug: Remove some duplicate code for GetDataAddress
...
git-svn-id: trunk@61747 -
2019-08-22 21:33:25 +00:00
martin
c69090c512
FpDebug: Rework TFpValueDwarfPointer.GetDataAddress, the data address is the pointer, not the deref-address.
...
git-svn-id: trunk@61746 -
2019-08-22 21:33:24 +00:00
martin
ce99e791cb
FpDebug: Clean up / Remove duplicate method DataAddr
...
git-svn-id: trunk@61743 -
2019-08-22 21:33:19 +00:00
martin
335f49891d
FpDebug: display info about types in watches
...
git-svn-id: trunk@61734 -
2019-08-20 18:58:50 +00:00
martin
0ce9055f11
FpDebug: Fix/Improve watches of Function/-ref
...
git-svn-id: trunk@61732 -
2019-08-20 18:58:47 +00:00
martin
936f07e67a
FpDebug: remove unused Count
...
git-svn-id: trunk@61725 -
2019-08-18 13:43:50 +00:00
martin
6a6c02491f
FpDebug: Fix type-declaration in watches for function refs
...
git-svn-id: trunk@61723 -
2019-08-18 13:43:47 +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
a8233705f3
FpDebug, fpdumpdwarf: partial fix compilation
...
git-svn-id: trunk@61721 -
2019-08-18 13:43:42 +00:00
martin
afb6089d74
FpDebug: Display function-ref variables
...
git-svn-id: trunk@61521 -
2019-07-03 18:26:32 +00:00
martin
9f1b5ca3f2
Debugger: introduce watch type skFunctionRef
...
git-svn-id: trunk@61520 -
2019-07-03 18:26:31 +00:00
martin
96ba76e670
FpDebug: Fix FindProcSymbol, always search all CompilationUnits
...
git-svn-id: trunk@61516 -
2019-07-03 18:26:24 +00:00
martin
2ca01a1067
FpDebug: Allow constants in type-cast to be treated as address
...
git-svn-id: trunk@61501 -
2019-06-30 19:17:01 +00:00
martin
3fa2c1926a
FpDebug: LocationParser: clean up and optimize (peek instead of pop)
...
git-svn-id: trunk@61500 -
2019-06-30 19:16:59 +00:00
martin
5110e434a6
FpDebug: Refactor reading Bounds
...
git-svn-id: trunk@61499 -
2019-06-30 19:16:58 +00:00
martin
dd77814ad7
FpDebug: Remove relation between TFpDbgSymbol and TFpDbgValue
...
git-svn-id: trunk@61498 -
2019-06-30 19:16:56 +00:00
martin
ebbd6b5e0b
FpDebug: Fix Overflow in max array/string size
...
git-svn-id: trunk@61497 -
2019-06-30 19:16:55 +00:00
martin
16b217f5b9
FpDebug: Cleanup
...
git-svn-id: trunk@61493 -
2019-06-30 19:16:47 +00:00
martin
87642bb738
FpDebug: Experimental/IFDEF code for auto-deref pointer to structure
...
git-svn-id: trunk@61453 -
2019-06-23 11:14:27 +00:00
martin
7f8306fad7
FpDebug: Allow LocationParser (dwarf loc expressions) to work with mlfSelfMem (for constants which have their value in the dwarf headers, rather than the process mem)
...
git-svn-id: trunk@61451 -
2019-06-23 11:14:24 +00:00
martin
4d779b1188
FpDebug: Ensure Object-address for location-parser is stored
...
git-svn-id: trunk@61450 -
2019-06-23 11:14:23 +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
a2744edd0a
FpDebug: clean up
...
git-svn-id: trunk@61420 -
2019-06-18 18:39:24 +00:00
martin
dc28cea48d
FpDebug: Fix potential int-overflow.
...
git-svn-id: trunk@61419 -
2019-06-18 18:39:22 +00:00
martin
f2698e4d03
FpDebug: make fpc wide/unicode-string workaround, depend on fpc-version
...
git-svn-id: trunk@61417 -
2019-06-18 18:39:19 +00:00
martin
970cf11642
FpDebug: DwarfClassMap (fpc specific classes), use instances.
...
git-svn-id: trunk@61416 -
2019-06-18 18:39:17 +00:00
martin
5d6b05e0c0
FpDebug: Move reading dwarf-2 length of dyn-array to fpc specific unit (fpdbgdwarffreepascal)
...
git-svn-id: trunk@61415 -
2019-06-18 18:39:15 +00:00
martin
5effef2a57
FpDebug: Refactor "AttribIdx". Reduce repeated calls.
...
git-svn-id: trunk@61414 -
2019-06-18 18:39:13 +00:00
martin
befba0c77b
FpDebug: Fix mem leak in strings/dwarf-3
...
git-svn-id: trunk@61413 -
2019-06-18 18:39:11 +00:00
martin
c13bcb61c2
FpDebug, fpd-app: fix some compile errors
...
git-svn-id: trunk@61335 -
2019-06-07 12:24:00 +00:00
martin
3f6a435b48
FpDebug, fpd-app: fix some compile errors
...
git-svn-id: trunk@61330 -
2019-06-06 20:45:34 +00:00
martin
9075dc0db1
FpDebug, fpd-app: fix some compile errors
...
git-svn-id: trunk@61328 -
2019-06-06 20:14:47 +00:00
martin
157ea70bdb
FpDebug: Fix upper/lower spelling of Contents/MacOS
...
git-svn-id: trunk@61066 -
2019-04-27 15:10:17 +00:00
martin
0f2eece126
DwarfViewer: remove -WC
...
git-svn-id: trunk@61039 -
2019-04-22 12:32:42 +00:00
martin
e2056f0494
FpDebug: Watches/Locals: Display "Unknown type" instead of "Identifier not found" for unimplemented/unknown data/types
...
git-svn-id: trunk@61005 -
2019-04-17 23:53:07 +00:00
martin
bd2040ec55
FpDebug: "UnicodeString" workaround for wrong dwarf-highbound fpc issue #0035359 , see also issue #0035340
...
git-svn-id: trunk@60946 -
2019-04-12 23:39:24 +00:00
martin
6d1944a6a3
FpDebug: Check char-size for strings. Recognize "UnicodeString", issue #0035340
...
git-svn-id: trunk@60930 -
2019-04-11 16:25:27 +00:00
martin
b0a3fd76d0
FpDebug: Fix an overflow in address calculation
...
git-svn-id: trunk@60798 -
2019-03-30 18:45:46 +00:00
martin
691606d9bc
FpDebug: Less debugln
...
git-svn-id: trunk@60650 -
2019-03-10 18:00:00 +00:00
martin
db921aff87
FpDebug: Add property for feedback, when debug info can not be read. Add feedback from macho reader
...
git-svn-id: trunk@60648 -
2019-03-10 17:59:57 +00:00
martin
93f5df8cf3
LazDebuggerFp: Prevent crash for unimplemented dwarf-tags (e.g. tag_interface). See issue #35129
...
git-svn-id: trunk@60476 -
2019-02-24 13:36:36 +00:00
martin
2fe7c631b4
FpDebug: Fix context for register on higher/non-existing stack frames (count vs index) / refactor
...
git-svn-id: trunk@60358 -
2019-02-07 17:40:20 +00:00
mattias
68aeaf0590
fpdebug: clean up
...
git-svn-id: trunk@60347 -
2019-02-06 08:19:51 +00:00
martin
f534ee214b
FpDebug: Fix crash on Win, in case of multiple processes (e.g. console process for win gui app). Accessing wrong threads (thread-state) during events would crash the target
...
git-svn-id: trunk@60345 -
2019-02-06 00:47:08 +00:00
martin
f72819e5bd
FpDebug, LazDebuggerFpLldb: prevent reading invalid memory (int overflow of Addr+Size) / this fixes crashes due to incorrect cache matches
...
git-svn-id: trunk@60338 -
2019-02-05 17:31:03 +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
zeljko
e3b3459bbd
fpdebug: fixed compilation under darwin
...
git-svn-id: trunk@60231 -
2019-01-27 13:23:16 +00:00
martin
cfed0db10f
FpDebug: More refactor internal breakpoints. Improve stopping other threads on Linux
...
git-svn-id: trunk@60214 -
2019-01-25 00:44:38 +00:00
martin
6f10746551
FpDebug: Fix breakpoint not applied / left over old code
...
git-svn-id: trunk@60213 -
2019-01-25 00:42:50 +00:00
martin
88aca89865
FpDebug: More refactor internal breakpoints. More control to OS classes. Improve stopping other threads on Linux
...
git-svn-id: trunk@60160 -
2019-01-23 21:28:44 +00:00
martin
861615d32d
FpDebug: Linux, remove threads when they exit
...
git-svn-id: trunk@60153 -
2019-01-23 01:17:38 +00:00
martin
2bf19a2135
FpDebug: fix removing internal breakpoints / fix crash on remove
...
git-svn-id: trunk@60152 -
2019-01-23 00:49:43 +00:00
martin
a48c9c1b69
FpDebug: More refactor internal breakpoints. Move detection for ResetInstructionPointerAfterBreakpoint into OS classes.
...
git-svn-id: trunk@60142 -
2019-01-22 02:11:44 +00:00
martin
ba83c710cd
FpDebug: Start refactor internal breakpoints. Prepare to allow several breakpoints set at the same address.
...
git-svn-id: trunk@60123 -
2019-01-20 19:09:46 +00:00
mattias
ace1df908b
fpdebug: clean up
...
git-svn-id: trunk@60111 -
2019-01-19 17:37:30 +00:00
martin
d00b7d06af
FpDebug: fix compile on linux. Issue #0034894
...
git-svn-id: trunk@60103 -
2019-01-18 11:26:00 +00:00
martin
cd32b50fa8
FpDebug: Linux, pause all threads if any is paused
...
git-svn-id: trunk@60096 -
2019-01-16 22:34:33 +00:00
martin
95d1609a43
FpDebug: add enumerator for threadmap
...
git-svn-id: trunk@60095 -
2019-01-16 22:32:49 +00:00
martin
ca3d4a29d7
FpDebug: Fix DW_FORM_strp for Dwarf3's 64Bit-Dwarf info
...
git-svn-id: trunk@60086 -
2019-01-14 23:13:21 +00:00
martin
9a9d87e661
FpDebug: fix cache when cross debugging a 64bit target from a 32bit IDE. (affects FpLldb)
...
git-svn-id: trunk@60085 -
2019-01-14 23:05:10 +00:00
martin
95f4d65126
FpDebug: fix type in macho debug structure (avoid range check errors)
...
git-svn-id: trunk@60083 -
2019-01-14 20:14:17 +00:00
martin
f737797457
FpDebugServer: fix compilation / support multiple addresses per breakpoint
...
git-svn-id: trunk@60048 -
2019-01-09 20:50:23 +00:00
martin
8175bdfee6
FpDebug: Windows, fixed intercepting system exceptions (access violations, stack overflow, div zero,...)
...
git-svn-id: trunk@60044 -
2019-01-09 14:29:56 +00:00
martin
72278d010a
FpDebug: MacOs, 64bit IDE loading of dwarf for 32 bit target
...
git-svn-id: trunk@60041 -
2019-01-08 23:12:25 +00:00
martin
fe756b5c1b
FpDebug: MacOs, loading of dwarf symbols missed some global vars.
...
git-svn-id: trunk@60015 -
2019-01-06 02:07:05 +00:00
martin
10ba71341c
LazDebuggerFp/FpDebug: prevent mem-cache from hiding mem-read errors
...
git-svn-id: trunk@60014 -
2019-01-06 01:43:52 +00:00
martin
7ccec4c206
FpDebug: Callstack, adjust to show the current calling line, instead of the line after it. Issue #0034753
...
git-svn-id: trunk@59978 -
2019-01-03 00:12:02 +00:00
martin
0d0fab67b2
FpDebug: Dwarfviewer. Allow drop files / various updates
...
git-svn-id: trunk@59965 -
2019-01-01 15:13:08 +00:00
martin
386fdbd4a6
FpDebug: ResetValueBounds was moved to SetTypeCastInfo
...
git-svn-id: trunk@59963 -
2019-01-01 15:07:06 +00:00
martin
c19567f879
FpDebug: fix nested array bounds in dwarf3
...
git-svn-id: trunk@59962 -
2019-01-01 15:06:19 +00:00
martin
40e565832d
FpDebug: added dbgs for debugln
...
git-svn-id: trunk@59961 -
2019-01-01 13:47:16 +00:00
martin
52dda0c955
FpDebug: fix commit 59943 #31fe8e6955 / open-array bounds
...
git-svn-id: trunk@59959 -
2018-12-31 14:26:38 +00:00
martin
31fe8e6955
FpDebug: fix accessing Upper-bound-value of open-array. Was missing a context object. Issue #0034781 / Add limit to prevent bad size, if data is corrupt. Issue #34772
...
git-svn-id: trunk@59943 -
2018-12-31 00:42:49 +00:00
martin
8524c41d52
FpDebug: change "open array" params to "const"
...
git-svn-id: trunk@59931 -
2018-12-29 00:35:22 +00:00
martin
870af3d3e8
FpDebug: Fix length of widestring (avoid trailing random data)
...
git-svn-id: trunk@59930 -
2018-12-29 00:31:05 +00:00
martin
f772c7f4d2
FpDebug: Fix typecast
...
git-svn-id: trunk@59929 -
2018-12-29 00:28:50 +00:00
martin
83ea07fe5b
FpDebug: limit array/string bounds (max len) / partial fix/workaround to prevent crashes when eval locals while in pro-epi-logue (stack not yet initialized / random data for bounds and other). Issue #0034746
...
git-svn-id: trunk@59895 -
2018-12-22 18:26:39 +00:00
martin
78ffec8934
FpDebug: Fixed Array of String for dwarf-3
...
git-svn-id: trunk@59872 -
2018-12-20 01:11:42 +00:00
martin
4d4aa06706
FpDebug: Fixed Array of ShortString for dwarf2
...
git-svn-id: trunk@59870 -
2018-12-19 22:56:29 +00:00
martin
53ff21a2b4
FpDebug: Implemented watch for "SomeString[index]"
...
git-svn-id: trunk@59861 -
2018-12-19 01:40:19 +00:00
martin
35103e664b
FpDebug: Implement correct length for open-array params
...
git-svn-id: trunk@59825 -
2018-12-14 13:41:49 +00:00
martin
4d203a087c
LazDebuggerFp: Fix, Step-over did not stop, if an "auto-continue/none-break" breakpoint was encountered at the end of the step. Fix last commit
...
git-svn-id: trunk@59817 -
2018-12-13 16:12:04 +00:00
martin
88767bcd81
LazDebuggerFp: Fix, Step-over did not stop, if an "auto-continue/none-break" breakpoint was encountered at the end of the step. (the auto continue took priority over the end-of-step)
...
git-svn-id: trunk@59816 -
2018-12-13 15:16:32 +00:00
martin
eb7d309f42
FpDebug: started/partly detect strings in dwarf-3
...
git-svn-id: trunk@59794 -
2018-12-11 18:53:13 +00:00
martin
7f8e86bb91
FpDebug: detect ShortString under dwarf-2
...
git-svn-id: trunk@59780 -
2018-12-10 21:13:01 +00:00
martin
fec2f4c39e
FpDebug: nil check, in case of corrupted debug info
...
git-svn-id: trunk@59779 -
2018-12-10 21:10:07 +00:00
martin
739388038a
FpDebug: handle PWideChar (and WideString, if represented as PWideChar)
...
git-svn-id: trunk@59778 -
2018-12-10 21:08:22 +00:00
martin
7463fc15a6
FpDebug: properly encode strings for display (unprintable chars as #$nn)
...
git-svn-id: trunk@59777 -
2018-12-10 21:04:08 +00:00
martin
7e6959a326
FpDebug: Fix Dwarf3 on 64bit. The The 32/64bit signature in the dwarf header should only affect references within the dwarf info. But by accident it affected constant addresses. This lead to truncation of some addresses, when dwarf-3 was used with 64 bit targets.
...
git-svn-id: trunk@59776 -
2018-12-10 20:57:24 +00:00
martin
c5fdbd440a
FpDebug: fix accessing nil fileloader. Introduced in rev 59729 #f09614b9a8 / Issue #0034657
...
git-svn-id: trunk@59745 -
2018-12-06 23:37:45 +00:00
martin
a33608de2e
FpDebug: Windows, fix leaking filehandles (again), see r59552 #122dfbd2ce / needed until forked processes are handled.
...
git-svn-id: trunk@59741 -
2018-12-06 18:03:18 +00:00
martin
0506cd7fb5
FpDebug: Windows, Check dwDebugEventCode before accessing case dependent data
...
git-svn-id: trunk@59740 -
2018-12-06 18:01:02 +00:00
martin
d7efb8aa10
FpDebug,Mac: macho file reader - remove unused object / re-use instance for parser
...
git-svn-id: trunk@59736 -
2018-12-06 15:05:59 +00:00
martin
d69ccc1655
FpDebug: DW_AT_const_value for basic constants. / Fix for SLEB128
...
git-svn-id: trunk@59730 -
2018-12-05 19:43:30 +00:00
martin
f09614b9a8
FpDebug: (Linux/Mac) Do not keep files open longer than needed. Systems may limit max files open. (Mac opens many files)
...
git-svn-id: trunk@59729 -
2018-12-05 01:49:29 +00:00
martin
f9abff2df4
FpDebug (incl lldb/gdb): Fix crash due to wrong cache removed from list. List could have 2 caches with same address, if a smaller cache was replaced by a bigger. Remove could destroy one and remove the other
...
git-svn-id: trunk@59728 -
2018-12-04 22:20:16 +00:00
martin
bba050e333
FpDebug: Disable assert, until fixed
...
git-svn-id: trunk@59727 -
2018-12-04 17:12:05 +00:00
martin
84ba359bbd
FpDebug: print type-name for structured types
...
git-svn-id: trunk@59692 -
2018-11-29 13:46:46 +00:00
mattias
9fef4bbe0d
fpdebug: fixed framwork name Security
...
git-svn-id: trunk@59669 -
2018-11-26 22:31:09 +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
b3179348c0
FpDebug: More verbose error, if failing to open file
...
git-svn-id: trunk@59570 -
2018-11-17 14:02:43 +00:00
martin
3f70eb5a9d
FpDebug: Windows, replace global context (thread context/registers) with context per thread
...
git-svn-id: trunk@59569 -
2018-11-17 13:55:54 +00:00
martin
129c834748
FpDebug: fix memleak if no loader for file format is found
...
git-svn-id: trunk@59563 -
2018-11-16 20:30:20 +00:00
martin
e1a6096d71
FpDebug: format structured values (class) as one line per field
...
git-svn-id: trunk@59557 -
2018-11-16 13:15:33 +00:00
martin
122dfbd2ce
FpDebug: Windows, fix leaking filehandles / more (temp) fixes for not processing forked children
...
git-svn-id: trunk@59552 -
2018-11-15 22:42:41 +00:00
martin
84e5ae329a
FpDebug: Workaround for dangling thread object
...
git-svn-id: trunk@59551 -
2018-11-15 22:41:07 +00:00
martin
80defc9157
FpDebug: workaround, prevent loosing the main process, if child processes are created. The Controller needs overall rework to handle multiple attached processes.
...
git-svn-id: trunk@59546 -
2018-11-15 16:41:46 +00:00
martin
fa6ae63e30
FpDebug: temporary workaround to display widechar
...
git-svn-id: trunk@59539 -
2018-11-13 12:17:15 +00:00
martin
0368d8e0d8
FpDebug: temporary workaround to display widestrings (actually pwidechar^)
...
git-svn-id: trunk@59538 -
2018-11-13 11:48:38 +00:00
martin
1b9614bd52
FpDebug: fixed a memory leak, when the debugged process forked child processes.
...
git-svn-id: trunk@59525 -
2018-11-11 23:09:44 +00:00
martin
e4adcb2815
FpDebug, DwarfViewer: fix 64bit
...
git-svn-id: trunk@59509 -
2018-11-11 14:47:57 +00:00
martin
f0d8e3150c
fix Makefiles
...
git-svn-id: trunk@59496 -
2018-11-09 15:08:28 +00:00
martin
7dceed7de3
fp debug: Makefiles
...
git-svn-id: trunk@59495 -
2018-11-09 14:34:16 +00:00
martin
c54639d227
FpDebug: Allow to specify poNewConsole on windows
...
git-svn-id: trunk@59488 -
2018-11-07 23:13:11 +00:00
martin
9b2f44b8c8
Lldb/Gdb - FpDebug: fix crash in pretty printer when called from lldb/gdb mixed debugger (MemManager not set)
...
git-svn-id: trunk@59443 -
2018-11-03 22:45:16 +00:00
mattias
7fde8c4b92
fpdebug: less hints
...
git-svn-id: trunk@59210 -
2018-10-01 15:10:56 +00:00
martin
ae279a0337
fpdebug: use TFPGMap instead of TStringList. Included in patch of Issue #34225 Patch by David Jenkins
...
git-svn-id: trunk@58892 -
2018-09-06 11:26:24 +00:00
martin
a44e814975
fpdebug / fp-lldb: runtime detection of 32/64bit arch. Issue #34225 Patch by David Jenkins
...
git-svn-id: trunk@58891 -
2018-09-06 11:24:43 +00:00
juha
d43fa548b8
LazUtils: Rename unit LazUTF8SysUtils -> LazSysUtils. It had nothing to do with character encoding.
...
git-svn-id: trunk@58630 -
2018-07-25 13:38:59 +00:00
martin
adee3883fa
fp debug: introduce mem reader cache
...
git-svn-id: trunk@58417 -
2018-06-28 10:27:02 +00:00
joost
3f08871ce8
fpdebug: Fixed compilation with verbose debugging
...
git-svn-id: trunk@58416 -
2018-06-26 21:40:16 +00:00
martin
ef0ef04087
Dwarfviewer: update dwarf loading (recent refactor)
...
git-svn-id: trunk@58401 -
2018-06-25 13:48:58 +00:00
martin
23d5c0bdc7
FP Debugger: fix range checks / do not use arbitrary large static arrays (gdb dislikes the debuginfo)
...
git-svn-id: trunk@58399 -
2018-06-24 22:56:20 +00:00
martin
a80f8c659c
FpDebug: refactor for loading MacOs sym in mixed lldb/gdb debug
...
git-svn-id: trunk@58395 -
2018-06-24 19:31:39 +00:00
martin
d1d7164b75
FpDebug: IDEBuildOptions
...
git-svn-id: trunk@58394 -
2018-06-24 19:29:08 +00:00
martin
0db8c632c5
FpDebug: MacOs, find dwarf info in app bundle
...
git-svn-id: trunk@58307 -
2018-06-18 13:16:32 +00:00
joost
abe6b86bb0
fpdebug: implemented step-out
...
git-svn-id: trunk@58218 -
2018-06-10 21:03:29 +00:00
martin
f5d955dd72
updates to test/dwarfviewer (show line info)
...
git-svn-id: trunk@58202 -
2018-06-09 13:03:05 +00:00
martin
54445f8381
LazDebuggerFP: fix (stackframe) register for 64bit app / enable watches,locals on selected stackframe
...
git-svn-id: trunk@58200 -
2018-06-09 12:35:00 +00:00
joost
cf440de910
fpdebug: Do not suspend on the start of a child-process
...
git-svn-id: trunk@58160 -
2018-06-06 20:51:41 +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
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
joost
50cce1a623
fpdebug: Handling of multiple threads (Linux)
...
git-svn-id: trunk@58095 -
2018-06-03 13:00:00 +00:00
mattias
09619c5659
fpdebug: clean up
...
git-svn-id: trunk@57787 -
2018-05-04 10:41:46 +00:00