Commit Graph

325 Commits

Author SHA1 Message Date
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
joost
5bc5c42c07 FpDebug: Fixed the index-calculation for Dwarf-3 encoded strings
git-svn-id: trunk@46096 -
2014-08-31 16:12:38 +00:00
joost
7b1dd835cd FpDebug: Evaluate Dwarf-3 dynamic array/string upper value bound
git-svn-id: trunk@46091 -
2014-08-30 18:46:05 +00:00
martin
5acc0236ce FpDebug: array (1 dimension): DW_AT_byte_stride
git-svn-id: trunk@44918 -
2014-05-05 00:53:22 +00:00
martin
c4d3a2e866 FpDebug: recognize parentfp and $parentfp
git-svn-id: trunk@44912 -
2014-05-04 19:18:17 +00:00
martin
f49845883c FpDebug: implemented DW_AT_data_location
git-svn-id: trunk@44909 -
2014-05-04 16:53:21 +00:00
martin
6f4e80d11d FpDebug: fix compile (without extra defines)
git-svn-id: trunk@44830 -
2014-04-27 20:54:36 +00:00
martin
53d97181b6 FpGdbmiDebugger: Add Locals
git-svn-id: trunk@44815 -
2014-04-26 15:46:40 +00:00
martin
36cf5c18c1 FpGdbmiDebugger: fixes typecast to class of current method / improve nested procs / tests
git-svn-id: trunk@44711 -
2014-04-13 02:39:01 +00:00
martin
99beb437a1 FpGdbmiDebugger: fixes for nested proc / tests
git-svn-id: trunk@44709 -
2014-04-12 21:37:50 +00:00
martin
fd9065da9c FpDebug: deal with parentfp for nested procs
git-svn-id: trunk@44639 -
2014-04-07 20:24:10 +00:00
martin
03d6bdade7 FpDebug: prepare mem-manager for context
git-svn-id: trunk@44627 -
2014-04-07 00:26:04 +00:00
martin
5df27a9624 FpDebug: renamed dwarf classes, more unified names
git-svn-id: trunk@44624 -
2014-04-06 16:27:37 +00:00
martin
cc3874bdbb FpDebug: fixed crash when attempting to inspect method (not implemented)
git-svn-id: trunk@44612 -
2014-04-05 22:59:10 +00:00
martin
79bd1ed96f FpDebug: refactor, each value in an expression keeps its own context (prepare for fpc nested proc)
git-svn-id: trunk@44611 -
2014-04-05 22:27:53 +00:00
martin
69938aa78b FpDebug: remove no longer needed reference.
git-svn-id: trunk@44604 -
2014-04-04 19:26:27 +00:00
martin
9fbc114aa7 FpDebug: move "self" to pascal specific
git-svn-id: trunk@44603 -
2014-04-04 18:54:48 +00:00
martin
d1a92f8e05 FpDebug: use TFpDbgValue in Context.FindSymbol
git-svn-id: trunk@44602 -
2014-04-04 18:24:15 +00:00
martin
ad1e9548a3 FpDebug: restructure dwarf classes, preparation for adding fpc specific subclasses
git-svn-id: trunk@44598 -
2014-04-03 23:24:00 +00:00
martin
66beffb223 FpDebug: restructure dwarf classes, preparation for adding fpc specific subclasses
git-svn-id: trunk@44594 -
2014-04-03 17:44:49 +00:00
martin
e7ed3a5bce move debug/verbose code to own unit
git-svn-id: trunk@44586 -
2014-04-01 23:44:33 +00:00
martin
753201d93a FpDebug: fix dyn array len / 64 bit
git-svn-id: trunk@44573 -
2014-03-31 23:05:20 +00:00
martin
aea501eaad FpDebug: fix uninitialized result
git-svn-id: trunk@44572 -
2014-03-31 22:57:29 +00:00
martin
4afbc6b24d FpDebug: start pretty-printer class
git-svn-id: trunk@44564 -
2014-03-31 17:41:22 +00:00
martin
8d1b5eeea4 FpDebug: pointer deref with index / tests
git-svn-id: trunk@44563 -
2014-03-31 03:11:39 +00:00
martin
7473ac1d09 FpDebug: sets / tests
git-svn-id: trunk@44562 -
2014-03-31 00:18:43 +00:00
martin
3dc25d4870 FpDebug: array / tests
git-svn-id: trunk@44556 -
2014-03-30 17:05:48 +00:00
martin
759c840e8a FpDebug: array / tests
git-svn-id: trunk@44554 -
2014-03-30 14:25:23 +00:00
martin
69670fab2a FpDebug: fix array typecasts / tests
git-svn-id: trunk@44546 -
2014-03-29 02:35:57 +00:00
martin
406a3736b2 FpDebug: fix struct members / array with multi dimension / tests
git-svn-id: trunk@44542 -
2014-03-28 20:15:42 +00:00
martin
b9283584dc FpDebug: fix array with struct / tests
git-svn-id: trunk@44531 -
2014-03-28 00:21:26 +00:00
martin
0f0ea7602d FpDebug: fix nil array / tests
git-svn-id: trunk@44527 -
2014-03-26 23:31:59 +00:00
martin
202388270c FpDebug: fix array index for static array
git-svn-id: trunk@44506 -
2014-03-24 13:36:10 +00:00
martin
7dff9e1f43 FpDebug: fix data address with "Ref" / tests
git-svn-id: trunk@44501 -
2014-03-23 21:22:15 +00:00
martin
95834abad6 FpDebug: Spelling
git-svn-id: trunk@44496 -
2014-03-23 15:35:37 +00:00
martin
e3b1d7060b FPDebug: fix finding parentclass data address
git-svn-id: trunk@44408 -
2014-03-11 22:16:38 +00:00
martin
635f14467e FPDebug: fix crash
git-svn-id: trunk@44406 -
2014-03-11 14:56:09 +00:00
martin
1b3ac9cf89 FPDebug: re-added address cache for members
git-svn-id: trunk@44402 -
2014-03-11 04:54:05 +00:00
martin
91b0b4fb35 FPDebug: fix crash in accessing member by name
git-svn-id: trunk@44391 -
2014-03-10 00:38:52 +00:00
martin
32f60ff178 FPDebug: refactor (use value-object for data address of members)
git-svn-id: trunk@44382 -
2014-03-08 22:07:32 +00:00
joost
d23eff7453 * Removed bogus default-values for records. Those do not compile on fpc 2.7.1
git-svn-id: trunk@44351 -
2014-03-05 11:15:52 +00:00
martin
483139f4fb FPDebug: refactor, renamed some classes
git-svn-id: trunk@44330 -
2014-03-02 21:58:15 +00:00
martin
09f97f2afd FPDebug: refactor
git-svn-id: trunk@44312 -
2014-03-02 02:14:44 +00:00
martin
f2745c8af3 FPDebug: disable wrong caching / refactor
git-svn-id: trunk@44310 -
2014-03-01 19:38:20 +00:00
martin
c8c11be08b FPDebug: fix re-using array data member object
git-svn-id: trunk@44240 -
2014-02-25 23:55:26 +00:00
martin
818e37a4d3 FPDebug: cache data address
git-svn-id: trunk@44239 -
2014-02-25 21:56:02 +00:00
martin
355e83cf62 FPDebug: add some more error checks in eval
git-svn-id: trunk@44236 -
2014-02-25 13:56:55 +00:00
martin
de5811d90d FPDebug: add some more error checks in eval
git-svn-id: trunk@44230 -
2014-02-25 04:57:38 +00:00
martin
889678aa8e FPGDBMIDebugger: fixed bin search
git-svn-id: trunk@44221 -
2014-02-24 05:32:02 +00:00
martin
799ade039d FPDebug: clean up / fix array len
git-svn-id: trunk@44209 -
2014-02-23 00:49:05 +00:00
martin
499e59ec52 FPDebug: starting arrays
git-svn-id: trunk@44187 -
2014-02-21 00:18:53 +00:00
martin
281d40f25c FPDebug: correct class for member
git-svn-id: trunk@44180 -
2014-02-20 01:31:45 +00:00
martin
0660f0e9f4 FPDebug: pchar
git-svn-id: trunk@44179 -
2014-02-20 01:12:25 +00:00
martin
0667e89729 FPDebug: read address from register / fix crash is destroyed object
git-svn-id: trunk@44176 -
2014-02-19 19:39:35 +00:00
martin
9968ee0c14 FPDebug: all class members in values / nil in class
git-svn-id: trunk@44171 -
2014-02-19 17:56:29 +00:00
martin
ff3f939321 FPDebug: handle nil in class results
git-svn-id: trunk@44163 -
2014-02-19 05:20:37 +00:00
martin
3818b4e602 FPGDBMIDebugger: more structured values
git-svn-id: trunk@44158 -
2014-02-19 01:49:06 +00:00
martin
a503dc1f3c FPGDBMIDebugger: structured values
git-svn-id: trunk@44121 -
2014-02-17 23:51:55 +00:00
martin
b699d68760 FPDebug: less debugln
git-svn-id: trunk@44117 -
2014-02-17 15:00:17 +00:00
martin
3f415797e4 Debugger: put some common types into DbgIntf
git-svn-id: trunk@44079 -
2014-02-15 01:31:30 +00:00
martin
369d6dc630 FPDebug: handle float
git-svn-id: trunk@44074 -
2014-02-14 18:23:15 +00:00
martin
a328c53065 FPDebug: mem-manager
git-svn-id: trunk@44073 -
2014-02-14 17:26:44 +00:00
martin
f580daeb56 FPDebug: mem-manager
git-svn-id: trunk@44068 -
2014-02-14 01:38:45 +00:00
martin
c714225b97 FPDebug: clean up / use mem-manager
git-svn-id: trunk@44029 -
2014-02-12 15:54:16 +00:00
martin
2978fbf036 FPDebug: start using mem-manager
git-svn-id: trunk@44028 -
2014-02-12 15:21:28 +00:00
martin
4af520994a FPDebug: moved TDbgPtr to new unit (avoid circle units)
git-svn-id: trunk@44024 -
2014-02-12 01:44:59 +00:00
martin
9b1e474917 FPDebug: tests
git-svn-id: trunk@44006 -
2014-02-11 19:45:58 +00:00
martin
b585ed6d46 FPDebug: Value handling / array
git-svn-id: trunk@43996 -
2014-02-11 02:56:55 +00:00
martin
da6195622e FPDebug: Value handling / enum, set
git-svn-id: trunk@43990 -
2014-02-10 12:36:06 +00:00
martin
fbad9f7b85 FPDebug: Value handling / enum, set
git-svn-id: trunk@43989 -
2014-02-10 02:12:50 +00:00
martin
97060b5ede FPDebug: Value handling / enum
git-svn-id: trunk@43983 -
2014-02-09 16:25:27 +00:00
martin
7007975497 FPDebug: mem leak
git-svn-id: trunk@43968 -
2014-02-09 13:25:10 +00:00
martin
97a11734fc FPDebug: Value handling / more typecasts
git-svn-id: trunk@43960 -
2014-02-08 23:03:34 +00:00
martin
2cc1500342 FPDebug: Value handling / size field
git-svn-id: trunk@43945 -
2014-02-07 23:40:17 +00:00
martin
f170d5d55a FPDebug: Value handling / more typecasts
git-svn-id: trunk@43936 -
2014-02-07 12:29:44 +00:00
martin
d1484bf11f FPDebug: fix compile with trunk
git-svn-id: trunk@43920 -
2014-02-06 17:21:02 +00:00
martin
8011d379c4 FPDebug: tests
git-svn-id: trunk@43911 -
2014-02-05 20:39:32 +00:00
martin
887afcf9dc FPDebug: tests
git-svn-id: trunk@43910 -
2014-02-05 17:23:59 +00:00
martin
8e96b14a37 FPDebug: Value handling / fixes for structure
git-svn-id: trunk@43907 -
2014-02-05 13:32:05 +00:00
martin
c20494536f FPDebug: fix Value handling / typecasts
git-svn-id: trunk@43904 -
2014-02-05 12:12:29 +00:00
martin
64b56efefb FPDebug: more Value handling / pointers
git-svn-id: trunk@43886 -
2014-02-05 02:30:45 +00:00
martin
3ab0ac8feb FPDebug: more Value handling /start pointers
git-svn-id: trunk@43885 -
2014-02-05 02:10:12 +00:00
martin
2f2e3b018c FPDebug: more Value handling / typecasts
git-svn-id: trunk@43871 -
2014-02-04 00:28:40 +00:00
martin
513a42d90d FPDebug: testcase
git-svn-id: trunk@43867 -
2014-02-02 23:33:29 +00:00
martin
8375c7ed26 FPDebug: more Value handling /start typecasts
git-svn-id: trunk@43864 -
2014-02-01 01:47:26 +00:00
martin
d4ee8f0e73 FPDebug: refactor circular references
git-svn-id: trunk@43862 -
2014-01-31 19:41:49 +00:00
martin
97e0cc4312 FPDebug: more Value handling / clean up / refactor: type-symbols no longer refers to values.
git-svn-id: trunk@43855 -
2014-01-31 01:27:10 +00:00