Commit Graph

62 Commits

Author SHA1 Message Date
martin
2ee9c0fe84 FpDebug: New TTargetDescriptor type used to store target specific information. All target specific classes are automatically registered in the respective initialization sections. TDbgController.Run modified to call CheckExecutableAndLoadClasses which loads target info from specified file, loads global disassembler instance and DbgProcess class. Patch/Contributed by ccrause
git-svn-id: trunk@62748 -
2020-03-12 14:20:33 +00:00
martin
98aa637a42 FpDebug: debugln
git-svn-id: trunk@62406 -
2019-12-16 23:22:53 +00:00
martin
98cc84231b FpDebug: Fix a crash / endless recursion, if a symbol (watch) is not found while in a finally block.
git-svn-id: trunk@62309 -
2019-11-28 02:30:01 +00:00
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
22aca35233 FpDebug: Use LastError from value object.
git-svn-id: trunk@62045 -
2019-10-13 12:25:37 +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
6fb009a232 FpDebug: Fix calculating length of open array param
git-svn-id: trunk@62018 -
2019-10-10 01:01:43 +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
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
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
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
9c280bd0e3 FpDebug: Refactor TFpSymbol.Size
git-svn-id: trunk@61923 -
2019-09-26 16:37:22 +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
ea3dfb1fa9 FpDebug: Improve detection of class vs record vs object
git-svn-id: trunk@61903 -
2019-09-19 17:29:17 +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
767d2014d8 FpDebug: Refactor GetDataAddress
git-svn-id: trunk@61799 -
2019-09-02 00:44:41 +00:00
martin
6b65857351 FpDebug: Refactor cache for Address/DataAddress
git-svn-id: trunk@61790 -
2019-08-31 20:59:08 +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
ce99e791cb FpDebug: Clean up / Remove duplicate method DataAddr
git-svn-id: trunk@61743 -
2019-08-22 21:33:19 +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
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
ebbd6b5e0b FpDebug: Fix Overflow in max array/string size
git-svn-id: trunk@61497 -
2019-06-30 19:16:55 +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
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
386fdbd4a6 FpDebug: ResetValueBounds was moved to SetTypeCastInfo
git-svn-id: trunk@59963 -
2019-01-01 15:07:06 +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
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
35103e664b FpDebug: Implement correct length for open-array params
git-svn-id: trunk@59825 -
2018-12-14 13:41:49 +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
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