Commit Graph

359 Commits

Author SHA1 Message Date
Martin
cc31d7752a FpDebug: fix watching fields in "old style" objects 2022-12-07 01:44:51 +01:00
Martin
d8f2ce5a1f FpDebug: fix mem leak 2022-12-06 00:15:35 +01:00
Martin
55f314c9ac FpDebug: Fix subtraction for some pointers / Fix type-info for @char, so minus considers them compatible. 2022-12-06 00:15:34 +01:00
Martin
4910e764bb FpDebug: Improve PChar handling in pointer math. 2022-09-18 23:48:59 +02:00
Martin
dd22337fc3 FpDebug: fix accessing nil pointer 2022-08-05 17:33:28 +02:00
Martin
8749ca4f20 FpDebug: fix address for interfaces 2022-08-05 02:44:29 +02:00
martin
2fce58a3de FpDebug: support DW_TAG_variant_part 2022-07-13 21:19:35 +02:00
Martin
77857b84ce FpDebug: improve dyn array detection 2022-07-13 10:27:47 +02:00
Martin
b014798858 LazDebuggerFp, FpDebug: Enable watch-eval calling function with strings as param/result (only DWARF 3 / up) 2022-06-21 00:29:07 +02:00
Martin
63a6ce4f32 FpDebug: added IFDEF $INLINE OFF 2022-06-21 00:06:04 +02:00
Martin
bba0a43742 FpDebug: Refactor TFpSymbolDwarfFunctionResult, don't reload data from info-entry - use existing type 2022-06-21 00:06:03 +02:00
Martin
e2f50ee30d FpDebug: fixed memory leak in FindExportedSymbolInUnit 2022-06-13 22:05:22 +02:00
Martin
e7b23f98d0 LazDebuggerIntf, FpDebug: add array and structure types 2022-06-09 17:46:23 +02:00
Martin
e3d41a28e0 FpDebug: Provide access to internal nested type info 2022-06-09 17:46:23 +02:00
Martin
fba36b9318 FpDebug: More fixes for "Solved AV in StateMachineValid" 239b2be664 / crash in asm window 2022-05-16 23:10:15 +02:00
Martin
f190c1ff0b FpDebug: remove empty code 2022-05-16 23:10:14 +02:00
Joost van der Sluis
be75a9d85e FpDebug: Fixed mistake in attempt to solve AV in StateMachineValid 2022-05-13 22:50:52 +02:00
Joost van der Sluis
239b2be664 FpDebug: Solved AV in StateMachineValid 2022-05-13 20:27:54 +02:00
martin
5a01f79d1c FpDebug: Find line info when dwarf subprogram-tag is missing. Use line info with linker info. This fixes stepping into old-style "TFoo = object ... end" 2022-05-05 02:46:33 +02:00
Martin
76d9771c34 Debugger: More LazDebuggerIntf. Add/Improve numeric, pointer, float and string watches 2022-03-24 00:39:04 +01:00
Martin
c7e123fd8d FpDebug: Fix stack-overflow for types with recursive declaration. 2022-03-24 00:39:02 +01:00
Martin
85c71832e3 FpDebug: Win64 SEH finally sub-routines, show correct line for resolved symbol 2021-12-12 21:00:27 +01:00
Martin
a1c6e559e1 LazDebuggerFp: Cleanup compiler hints 2021-12-12 21:00:27 +01:00
Martin
9877946d86 FpDebug: reduced debugln 2021-12-07 23:21:42 +01:00
Martin
499026c519 FpDebug: Win64 SEH finally sub-routines, find the symbol for the procedure actually owning the finally block 2021-12-07 22:56:11 +01:00
Martin
d8188bb780 FpDebug: Show "class var" if in current context (no class/instance-name prefix). 2021-12-01 19:55:39 +01:00
Martin
f49b54bae5 FpDebug: add a few missing "const" for params 2021-11-14 15:36:41 +01:00
Martin
eac49ae44f FpDebug: Fix DW_OP_reg0..31 should return the register-location, not the value in the register (except for DW_AT_frame_base). See note_732607024 in merge-request !28 2021-11-14 11:31:56 +01:00
martin
6661f86edd Debugger: allow to force lazloggerbase via define
git-svn-id: trunk@65227 -
2021-06-14 07:30:45 +00:00
martin
561099dc46 FpDebug: Allow watches with unit prefix: unit1.MyValue
git-svn-id: trunk@65168 -
2021-06-03 16:42:41 +00:00
martin
a822d5c8f7 Reduce duplicate code
git-svn-id: trunk@65159 -
2021-05-31 14:24:53 +00:00
martin
574b3a8178 LazDebuggerFp, FpDebug: Modify watches/values in target
git-svn-id: trunk@65154 -
2021-05-30 19:01:08 +00:00
martin
ce0d1a0bc8 LazDebuggerFp, FpDebug: Beta, Allow function calls in watches
git-svn-id: trunk@65151 -
2021-05-29 22:51:09 +00:00
joost
c136e832f9 FpDebug: Do not choke on unsupported third-party Dwarf extensions
git-svn-id: trunk@65129 -
2021-05-24 22:06:59 +00:00
martin
068feeb931 FpDebug: remove MemMgr.DefaultContext. All MemRead/Write must go via a location-context.
git-svn-id: trunk@64554 -
2021-02-12 18:31:07 +00:00
juha
77e6853ca6 Components: Reduce calls to LowerCase().
git-svn-id: trunk@64515 -
2021-02-10 13:43:15 +00:00
martin
ba1a82803a FpDebug: add size for function-ref
git-svn-id: trunk@64398 -
2021-01-16 19:30:06 +00:00
martin
3f5954b07e FpDebug: fixed evaluating signed/unsigned mixed AND
git-svn-id: trunk@64387 -
2021-01-14 21:14:05 +00:00
martin
e2c618e262 FpDebugger: Show classname for functions in stack.
git-svn-id: trunk@64022 -
2020-10-15 18:38:20 +00:00
joost
539c1f9a2b FpDebug: Renamed TFpDbgHardcodedContext to TFpDbgHardcodedScope
git-svn-id: trunk@63899 -
2020-09-20 19:21:53 +00:00
martin
fb4e9603c0 FpDebug: Ensure the array for the worker-thread and the main-thread are each unique. Fix occasional search misses. / Small refactor
git-svn-id: trunk@63863 -
2020-09-03 16:32:29 +00:00
martin
cb9e09de9e FpDebug: Use available symbol from stack to create SearchScope
git-svn-id: trunk@63835 -
2020-08-26 19:15:02 +00:00
martin
d62e55102b FpDebug: use threads to scan units for symbol
git-svn-id: trunk@63829 -
2020-08-25 17:31:53 +00:00
martin
b63067892d FpDebug: More use of name hashes
git-svn-id: trunk@63816 -
2020-08-23 12:52:32 +00:00
martin
953c9964f8 FpDebug: make more string params "const foo :string"
git-svn-id: trunk@63810 -
2020-08-22 20:27:14 +00:00
martin
24d48052e3 FpDebug: Speed up fpdebug (GoNamedChild) by creating hashes for symbol names / Create Hash-lookup field for units to skip some CU
git-svn-id: trunk@63808 -
2020-08-22 20:27:10 +00:00
martin
24a3af8855 FpDebug: Refactor passing upper+lowercase name for search
git-svn-id: trunk@63807 -
2020-08-22 20:27:08 +00:00
martin
1bacaaff9f FpDebug: Add reference for value.context
git-svn-id: trunk@63787 -
2020-08-18 23:12:51 +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
juha
125e794a87 Remove useless test for X <> Nil when using "is" operator.
git-svn-id: trunk@63779 -
2020-08-18 17:35:21 +00:00
martin
4145a55fee FpDebug: small optimization for GetDerefAddress: TFpDbgMemLocation
git-svn-id: trunk@63771 -
2020-08-17 21:50:38 +00:00
martin
2e3e27feb2 FpDebug: Allow ClassType.Field => for static fields / return type on none static fields
git-svn-id: trunk@63770 -
2020-08-17 21:50:36 +00:00
martin
67a21fe3bb FpDebug: Allow structure/class members to have DW_AT_const_value
git-svn-id: trunk@63769 -
2020-08-17 21:50:35 +00:00
martin
ee5e720d74 FpDebug: Safety checks for Value <> nil. (In case of broken dwarf info)
git-svn-id: trunk@63768 -
2020-08-17 21:50:33 +00:00
joost
a733105c1c fpDebug: Ability to do simple function-calls
git-svn-id: trunk@63751 -
2020-08-16 10:20:37 +00:00
martin
50c0885715 FpDebug/LazDebuggerfp: Make memory limits configurable
git-svn-id: trunk@63509 -
2020-07-05 01:18:32 +00:00
ondrej
75bf045f79 fpDebug: i386 compilation
git-svn-id: trunk@63442 -
2020-06-27 06:52:30 +00:00
joost
44f761cd43 FpDebug: array-bounds implemented
git-svn-id: trunk@63440 -
2020-06-26 21:01:39 +00:00
martin
be7b855369 FpDebug: Introduce configurable limits for mem usages / display len of array or string
git-svn-id: trunk@63397 -
2020-06-19 17:45:24 +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
361235b421 FpDebug: Always get a Dwarf Context (if there are any units) => at least for global vars/symbols
git-svn-id: trunk@63365 -
2020-06-16 19:57:31 +00:00
martin
8a702248e3 FpDebug: fixed wrong type-cast in TFpValueDwarfArray.DoGetOrdering, TFpValueDwarfFreePascalArray, GetInstanceClassNameFromPVmt
git-svn-id: trunk@63359 -
2020-06-16 13:42:44 +00:00
martin
98aa637a42 FpDebug: debugln
git-svn-id: trunk@62406 -
2019-12-16 23:22:53 +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
2dd36b3cd8 FpDebug: FPC sets some lines to line-num=0 => map them to the next avail line. This will at least be somewhere around the correct location.
git-svn-id: trunk@62337 -
2019-12-08 00:18:05 +00:00
martin
afd4dead10 FpDebug: Fix LineInfo, EndSequence was not handled, and some addresses resulted in wrong lines (even in the wrong procedure)
git-svn-id: trunk@62335 -
2019-12-08 00:18:01 +00:00
martin
5f2f41dd34 FpDebug: Allow to create contexct from known ProcSym / Updated TDbgCallstackEntry.GetParamsAsString / Avoid double look-up of proc-symbol
git-svn-id: trunk@62172 -
2019-11-03 17:05:35 +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
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
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
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
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
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
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
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
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
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
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