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
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
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
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
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
5a7c9f1487
FpDebug: Refactor class names for TFpDbgValue and TFpDbgSymbol descendants.
...
git-svn-id: trunk@61722 -
2019-08-18 13:43:45 +00:00
martin
afb6089d74
FpDebug: Display function-ref variables
...
git-svn-id: trunk@61521 -
2019-07-03 18:26:32 +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
5110e434a6
FpDebug: Refactor reading Bounds
...
git-svn-id: trunk@61499 -
2019-06-30 19:16:58 +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
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
a2744edd0a
FpDebug: clean up
...
git-svn-id: trunk@61420 -
2019-06-18 18:39:24 +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
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
b0a3fd76d0
FpDebug: Fix an overflow in address calculation
...
git-svn-id: trunk@60798 -
2019-03-30 18:45:46 +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
c19567f879
FpDebug: fix nested array bounds in dwarf3
...
git-svn-id: trunk@59962 -
2019-01-01 15:06:19 +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
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
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
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
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
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
joost
1de2cbf586
general: Updated address of the Free Software Foundation in copyright messages
...
git-svn-id: trunk@54031 -
2017-01-29 21:04:32 +00:00
martin
2c1cc645e3
fpdebug: added params to stack
...
git-svn-id: trunk@49123 -
2015-05-20 21:00:18 +00:00
martin
311acd5b58
fpdebug: check for bounds, before accessing
...
git-svn-id: trunk@49086 -
2015-05-18 20:11:13 +00:00
joost
c53e775af5
FpDebug: The developers at Apple were not able to build a linker
...
with the ability to deal with Dwarf-debug info. Added the ability
to read the Dwarf-debug info from the object files and to map the
corresponding addresses to their position in the final executable.
git-svn-id: trunk@48864 -
2015-04-25 19:15:09 +00:00