Commit Graph

89 Commits

Author SHA1 Message Date
Martin
915fbfa830 FpDebug: Workaround for dangling pointer to FScanAllWorker.FScanScopeList (in FCompUnitScope.FScopeListPtr), set by FScanScopeList.BuildList. 2022-05-09 01:22:32 +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
4f8efdd21f FpDebug: fix warnings. 2022-03-24 00:39:03 +01:00
Joost van der Sluis
c8feb2d0e8 FpDebug: Replaced some Pascalish code to perform pointer calculations without range-overflows with code with range-checking disabled 2022-01-02 00:38:52 +01:00
ccrause
218ea083c3 DW_LINE_set_address and target address read operations should respect the target address size. 2021-12-29 14:52:02 +02:00
Joost van der Sluis
e0c4d9c77b FpDebug: cleanup and explanation of the difference between the ImageBase, RelocationOffset and LoadedTargetImageAddr 2021-12-16 00:35:18 +01:00
Joost van der Sluis
8205a04199 FpDebug: On Windows the RelocationOffset can only be calculated after the file-header has been read. So the whole logic to obtain the RelocationOffset out of the LoadedTargetImageAddr and ImageBase is refactored 2021-12-15 01:21:10 +01:00
Joost van der Sluis
70d007f0de FpDebug: Differentiate between the BaseAddr and the RelocationOffset 2021-12-13 23:18:10 +01:00
Martin
a1c6e559e1 LazDebuggerFp: Cleanup compiler hints 2021-12-12 21:00:27 +01:00
Joost van der Sluis
2a51f03e2b FpDebug fixed calculation of addresses, got broken in commit 5ff2a7d17c 2021-12-11 13:38:30 +01:00
Joost van der Sluis
5ff2a7d17c FpDebug: Calculate the relocated addresses of libraries 2021-12-10 20:17:46 +01:00
Joost van der Sluis
de0974f29e FpDebug: Removed TDbgInstance.AddrOffset and other old attempts to relocate libraries properly 2021-12-08 00:43:17 +01:00
Martin
df98551a5f FpDebug: Implement finding "address for line" before/after the requested line, if there is no entry for the request. 2021-12-07 20:35:49 +01:00
Martin
b3e07ba2b5 FpDebug: fix for logging 2021-12-05 22:44:04 +01:00
Joost van der Sluis
957f76456c FpDebug: Detect Dwarf-5 debug headers and skip unsupported sections 2021-12-05 18:26:09 +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
0a7f1b1da9 FpDebug: Dwarf location-parser, allow to deref a register-location. See merge-request !28 2021-11-14 09:13:55 +01:00
ccrause
c6e6de1294 Fixed checking if AAddress is bracketed by StartPC and EndPC. 2021-11-01 12:14:33 +02:00
ccrause
23065e004c Add functionality to get proc start/end addresses from debug info. Used to scan prologue and epilogue for frame information on AVR target. 2021-11-01 12:13:28 +02:00
Martin
0a2bc87781 FpDebug: Fixed mem leak. 2021-09-26 16:02:26 +02:00
martin
caa6a14163 FpDebug: "waitable section" / Protect some code from being entered twice
git-svn-id: trunk@65229 -
2021-06-14 08:12:49 +00:00
martin
6661f86edd Debugger: allow to force lazloggerbase via define
git-svn-id: trunk@65227 -
2021-06-14 07:30:45 +00:00
martin
48701f5d93 FpDebug: Improve encapsulation
git-svn-id: trunk@65183 -
2021-06-08 19:32:22 +00:00
martin
3644f4a2e2 FpDebug: Fix race condition. FScope accesses FScopeList which is changed by thread (dyn array re-alloc by SetLength)
git-svn-id: trunk@65172 -
2021-06-04 01:11:22 +00:00
martin
5191e4d8a2 FpDebug: Added some safety checks
git-svn-id: trunk@65144 -
2021-05-28 16:19:23 +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
0feb7a5662 Codetools, Debugger: Use a faster compare method for case-insensitive strings and StringLists.
git-svn-id: trunk@64465 -
2021-02-05 11:28:11 +00:00
martin
43e81576fe FpDebug: Use thread-save iterator. Issue #0038047, #38068 . Normal Iterators are added/removed to/from FIterators: TList => which is not thread save. Since the map in question never changes during iteration, the callbacks are not needed.
git-svn-id: trunk@64128 -
2020-11-12 12:02:33 +00:00
joost
566610a9ba FpDebug: Cleanup of several issues introduced in r63899 #539c1f9a2b, in which a lot more was committed then planned. Among others utility functions to allow calling functions with parameters. The ability to set the value of (regvar) variables and some minor bug-fixes. As part of the parameter-support, addresses located in a register are not immediately read and converted to constants anymore. But the location of the actual register is stored. This might have unforeseen side-effects
git-svn-id: trunk@63900 -
2020-09-20 21:52:48 +00:00
joost
539c1f9a2b FpDebug: Renamed TFpDbgHardcodedContext to TFpDbgHardcodedScope
git-svn-id: trunk@63899 -
2020-09-20 19:21:53 +00:00
martin
75c2186b1d FpDebug: Detect incorrect path to unit, and omit path. Issue #0037657
git-svn-id: trunk@63840 -
2020-08-29 12:02:20 +00:00
martin
b2cb237d43 FpDebug: Compute full filenames only once
git-svn-id: trunk@63839 -
2020-08-29 12:02:18 +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
b63067892d FpDebug: More use of name hashes
git-svn-id: trunk@63816 -
2020-08-23 12:52:32 +00:00
martin
2d8cf332f9 FpDebug: Run some tasks in threads during startup
git-svn-id: trunk@63812 -
2020-08-22 20:27:17 +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
6ed8bff46a FpDebug: Faster upper/lower-case. (for ansi only idents)
git-svn-id: trunk@63809 -
2020-08-22 20:27:11 +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
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
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
10fafd96d0 FpDebug: remove deprecated FindContext(address-only)
git-svn-id: trunk@63364 -
2020-06-16 19:57:29 +00:00
martin
a43e155cdb FpDebug, Debuggers, IDE: Make MemManager easier to access. (via Controller and Instance)
git-svn-id: trunk@63358 -
2020-06-16 13:42:42 +00:00
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
5fb2dfc3ed FpDebug: Fix Mem-leak, DefaultMap was not freed. Issue #0036498
git-svn-id: trunk@62488 -
2020-01-04 15:00:38 +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
22aca35233 FpDebug: Use LastError from value object.
git-svn-id: trunk@62045 -
2019-10-13 12:25:37 +00:00
martin
cbe21ff4f3 FpDebug: implement watching bitpacked array/record
git-svn-id: trunk@62012 -
2019-10-09 20:06:21 +00:00