martin
ece9967721
FpDebug: Keep the loop running, if internal stepping causes deBreakPoint without actually hitting a breakpoint. Required because now there can be several such singlesteps in one iteration of the loop.
...
git-svn-id: trunk@61840 -
2019-09-08 19:03:11 +00:00
martin
876682fc9d
FpDebug: Handle hitting breakpoints, that have been removed while the event was waiting. Still need to re-execute the asm instruction that was hidden by int3
...
git-svn-id: trunk@61839 -
2019-09-08 19:03:09 +00:00
martin
2f812db331
FpDebug: Windows, suspend other threads while single stepping over a (temp-removed) breakpoints.
...
- Other threads could cause an event, before the thread does single-step. Then the breakpoint gets restored to early
- Other threads could run through the code, while the breakpoint is removed. They would not stop as they should.
git-svn-id: trunk@61838 -
2019-09-08 19:03:08 +00:00
martin
966ecb9382
FpDebug: debugln for windows API events
...
git-svn-id: trunk@61834 -
2019-09-08 18:52:42 +00:00
martin
e6e7bf4355
FpDebug: Linux, improve "Stop all" loop
...
git-svn-id: trunk@61833 -
2019-09-08 18:52:41 +00:00
martin
595f8b9f3e
FpDebug: Linux, refactor signal handling for signals that need to be postponed. Need to collect signals with no existing thread yet, as they will create that thread.
...
git-svn-id: trunk@61832 -
2019-09-08 18:52:39 +00:00
martin
aa85ec85ed
FpDebug: Linux, removed unused code
...
git-svn-id: trunk@61831 -
2019-09-08 18:52:38 +00:00
martin
1ab353e555
FpDebug: Linux, reduce the amount of calls to temp-remove/restore breakpoints
...
git-svn-id: trunk@61830 -
2019-09-08 18:52:36 +00:00
martin
85a8100c39
FpDebug: Linux, fix for temp-removed breakpoints were not always restored (if another thread had pending events, writing the breakpoint in WaitForEvent would fail, due to thread running / signal not yet collected)
...
git-svn-id: trunk@61829 -
2019-09-08 18:52:35 +00:00
martin
999d567e45
FpDebug: debugln for Linux
...
git-svn-id: trunk@61828 -
2019-09-08 18:52:33 +00:00
martin
9defda8b5c
FpDebug: Linux, prevent crash on nil deref
...
git-svn-id: trunk@61819 -
2019-09-05 20:05:58 +00:00
martin
addf952338
FpDebug: Less debugln noise when checking if break exists
...
git-svn-id: trunk@61818 -
2019-09-05 20:05:57 +00:00
martin
d9731de769
FpDebug, LazDebuggerFp: More debugln for Breakpoints
...
git-svn-id: trunk@61817 -
2019-09-05 20:05:55 +00:00
martin
c86c8d65e6
FpDebug: reduce logged errors for messages that are expected (cannot write to terminated process)
...
git-svn-id: trunk@61816 -
2019-09-05 20:05:54 +00:00
martin
00417e251e
FpDebug: Fix stackframe evaluation / In some cases (if stack win was closed, when brk-point hit) only the top frame was displayed.
...
git-svn-id: trunk@61806 -
2019-09-02 00:44:52 +00:00
martin
9fedf06c5f
FpDebug: fix context (crash) during stack eval / currently unused code
...
git-svn-id: trunk@61805 -
2019-09-02 00:44:50 +00:00
martin
386be78e7c
FpDebug: improve finding a name (or other info) to display type name (un-named pointers) / ^__vtbl_....
...
git-svn-id: trunk@61803 -
2019-09-02 00:44:48 +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
a8ec28c709
FpDebug: PascalParser, added = / <> operator for classes/interfaces
...
git-svn-id: trunk@61783 -
2019-08-29 15:12:45 +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
94eaca854f
FpDebug: Rename TDbgSymbolForwarder to TFpSymbolForwarder
...
git-svn-id: trunk@61777 -
2019-08-28 15:36:15 +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
7096bc4c00
FpDebug: pascal-builder improve tolerance for unknown types in classes
...
git-svn-id: trunk@61755 -
2019-08-24 20:39:57 +00:00
martin
280666f480
FpDebug: Fix watches for Pointer
...
git-svn-id: trunk@61753 -
2019-08-24 20:39:54 +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
936f07e67a
FpDebug: remove unused Count
...
git-svn-id: trunk@61725 -
2019-08-18 13:43:50 +00:00
martin
6a6c02491f
FpDebug: Fix type-declaration in watches for function refs
...
git-svn-id: trunk@61723 -
2019-08-18 13:43: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
a8233705f3
FpDebug, fpdumpdwarf: partial fix compilation
...
git-svn-id: trunk@61721 -
2019-08-18 13:43:42 +00:00
martin
afb6089d74
FpDebug: Display function-ref variables
...
git-svn-id: trunk@61521 -
2019-07-03 18:26:32 +00:00
martin
9f1b5ca3f2
Debugger: introduce watch type skFunctionRef
...
git-svn-id: trunk@61520 -
2019-07-03 18:26:31 +00:00
martin
96ba76e670
FpDebug: Fix FindProcSymbol, always search all CompilationUnits
...
git-svn-id: trunk@61516 -
2019-07-03 18:26:24 +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
3fa2c1926a
FpDebug: LocationParser: clean up and optimize (peek instead of pop)
...
git-svn-id: trunk@61500 -
2019-06-30 19:16:59 +00:00
martin
5110e434a6
FpDebug: Refactor reading Bounds
...
git-svn-id: trunk@61499 -
2019-06-30 19:16:58 +00:00
martin
dd77814ad7
FpDebug: Remove relation between TFpDbgSymbol and TFpDbgValue
...
git-svn-id: trunk@61498 -
2019-06-30 19:16:56 +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
87642bb738
FpDebug: Experimental/IFDEF code for auto-deref pointer to structure
...
git-svn-id: trunk@61453 -
2019-06-23 11:14:27 +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
2a8f0cab85
FpDebug: More tests.
...
git-svn-id: trunk@61449 -
2019-06-23 11:14:20 +00:00
martin
8874afbe6a
FpDebug/LazDebuggerFp: Refactor logging, use LazLogger for all logging.
...
git-svn-id: trunk@61427 -
2019-06-19 15:26:22 +00:00
martin
a2744edd0a
FpDebug: clean up
...
git-svn-id: trunk@61420 -
2019-06-18 18:39:24 +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
c13bcb61c2
FpDebug, fpd-app: fix some compile errors
...
git-svn-id: trunk@61335 -
2019-06-07 12:24:00 +00:00
martin
3f6a435b48
FpDebug, fpd-app: fix some compile errors
...
git-svn-id: trunk@61330 -
2019-06-06 20:45:34 +00:00
martin
9075dc0db1
FpDebug, fpd-app: fix some compile errors
...
git-svn-id: trunk@61328 -
2019-06-06 20:14:47 +00:00
martin
157ea70bdb
FpDebug: Fix upper/lower spelling of Contents/MacOS
...
git-svn-id: trunk@61066 -
2019-04-27 15:10:17 +00:00
martin
0f2eece126
DwarfViewer: remove -WC
...
git-svn-id: trunk@61039 -
2019-04-22 12:32:42 +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
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
b0a3fd76d0
FpDebug: Fix an overflow in address calculation
...
git-svn-id: trunk@60798 -
2019-03-30 18:45:46 +00:00
martin
691606d9bc
FpDebug: Less debugln
...
git-svn-id: trunk@60650 -
2019-03-10 18:00:00 +00:00
martin
db921aff87
FpDebug: Add property for feedback, when debug info can not be read. Add feedback from macho reader
...
git-svn-id: trunk@60648 -
2019-03-10 17:59:57 +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
2fe7c631b4
FpDebug: Fix context for register on higher/non-existing stack frames (count vs index) / refactor
...
git-svn-id: trunk@60358 -
2019-02-07 17:40:20 +00:00
mattias
68aeaf0590
fpdebug: clean up
...
git-svn-id: trunk@60347 -
2019-02-06 08:19:51 +00:00
martin
f534ee214b
FpDebug: Fix crash on Win, in case of multiple processes (e.g. console process for win gui app). Accessing wrong threads (thread-state) during events would crash the target
...
git-svn-id: trunk@60345 -
2019-02-06 00:47:08 +00:00
martin
f72819e5bd
FpDebug, LazDebuggerFpLldb: prevent reading invalid memory (int overflow of Addr+Size) / this fixes crashes due to incorrect cache matches
...
git-svn-id: trunk@60338 -
2019-02-05 17:31:03 +00:00
martin
dac68e42e2
FpDebug, LazDebuggerFp: fix last frame in stack list / allow evaluate more frames
...
git-svn-id: trunk@60335 -
2019-02-04 18:26:11 +00:00
zeljko
e3b3459bbd
fpdebug: fixed compilation under darwin
...
git-svn-id: trunk@60231 -
2019-01-27 13:23:16 +00:00
martin
cfed0db10f
FpDebug: More refactor internal breakpoints. Improve stopping other threads on Linux
...
git-svn-id: trunk@60214 -
2019-01-25 00:44:38 +00:00
martin
6f10746551
FpDebug: Fix breakpoint not applied / left over old code
...
git-svn-id: trunk@60213 -
2019-01-25 00:42:50 +00:00
martin
88aca89865
FpDebug: More refactor internal breakpoints. More control to OS classes. Improve stopping other threads on Linux
...
git-svn-id: trunk@60160 -
2019-01-23 21:28:44 +00:00
martin
861615d32d
FpDebug: Linux, remove threads when they exit
...
git-svn-id: trunk@60153 -
2019-01-23 01:17:38 +00:00
martin
2bf19a2135
FpDebug: fix removing internal breakpoints / fix crash on remove
...
git-svn-id: trunk@60152 -
2019-01-23 00:49:43 +00:00
martin
a48c9c1b69
FpDebug: More refactor internal breakpoints. Move detection for ResetInstructionPointerAfterBreakpoint into OS classes.
...
git-svn-id: trunk@60142 -
2019-01-22 02:11:44 +00:00
martin
ba83c710cd
FpDebug: Start refactor internal breakpoints. Prepare to allow several breakpoints set at the same address.
...
git-svn-id: trunk@60123 -
2019-01-20 19:09:46 +00:00
mattias
ace1df908b
fpdebug: clean up
...
git-svn-id: trunk@60111 -
2019-01-19 17:37:30 +00:00
martin
d00b7d06af
FpDebug: fix compile on linux. Issue #0034894
...
git-svn-id: trunk@60103 -
2019-01-18 11:26:00 +00:00
martin
cd32b50fa8
FpDebug: Linux, pause all threads if any is paused
...
git-svn-id: trunk@60096 -
2019-01-16 22:34:33 +00:00
martin
95d1609a43
FpDebug: add enumerator for threadmap
...
git-svn-id: trunk@60095 -
2019-01-16 22:32:49 +00:00
martin
ca3d4a29d7
FpDebug: Fix DW_FORM_strp for Dwarf3's 64Bit-Dwarf info
...
git-svn-id: trunk@60086 -
2019-01-14 23:13:21 +00:00
martin
9a9d87e661
FpDebug: fix cache when cross debugging a 64bit target from a 32bit IDE. (affects FpLldb)
...
git-svn-id: trunk@60085 -
2019-01-14 23:05:10 +00:00
martin
95f4d65126
FpDebug: fix type in macho debug structure (avoid range check errors)
...
git-svn-id: trunk@60083 -
2019-01-14 20:14:17 +00:00
martin
f737797457
FpDebugServer: fix compilation / support multiple addresses per breakpoint
...
git-svn-id: trunk@60048 -
2019-01-09 20:50:23 +00:00
martin
8175bdfee6
FpDebug: Windows, fixed intercepting system exceptions (access violations, stack overflow, div zero,...)
...
git-svn-id: trunk@60044 -
2019-01-09 14:29:56 +00:00