Commit Graph

1100 Commits

Author SHA1 Message Date
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
martin
72278d010a FpDebug: MacOs, 64bit IDE loading of dwarf for 32 bit target
git-svn-id: trunk@60041 -
2019-01-08 23:12:25 +00:00
martin
fe756b5c1b FpDebug: MacOs, loading of dwarf symbols missed some global vars.
git-svn-id: trunk@60015 -
2019-01-06 02:07:05 +00:00
martin
10ba71341c LazDebuggerFp/FpDebug: prevent mem-cache from hiding mem-read errors
git-svn-id: trunk@60014 -
2019-01-06 01:43:52 +00:00
martin
7ccec4c206 FpDebug: Callstack, adjust to show the current calling line, instead of the line after it. Issue #0034753
git-svn-id: trunk@59978 -
2019-01-03 00:12:02 +00:00
martin
0d0fab67b2 FpDebug: Dwarfviewer. Allow drop files / various updates
git-svn-id: trunk@59965 -
2019-01-01 15:13:08 +00:00
martin
386fdbd4a6 FpDebug: ResetValueBounds was moved to SetTypeCastInfo
git-svn-id: trunk@59963 -
2019-01-01 15:07:06 +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
40e565832d FpDebug: added dbgs for debugln
git-svn-id: trunk@59961 -
2019-01-01 13:47:16 +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
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
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
53ff21a2b4 FpDebug: Implemented watch for "SomeString[index]"
git-svn-id: trunk@59861 -
2018-12-19 01:40:19 +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
4d203a087c LazDebuggerFp: Fix, Step-over did not stop, if an "auto-continue/none-break" breakpoint was encountered at the end of the step. Fix last commit
git-svn-id: trunk@59817 -
2018-12-13 16:12:04 +00:00
martin
88767bcd81 LazDebuggerFp: Fix, Step-over did not stop, if an "auto-continue/none-break" breakpoint was encountered at the end of the step. (the auto continue took priority over the end-of-step)
git-svn-id: trunk@59816 -
2018-12-13 15:16:32 +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
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
7463fc15a6 FpDebug: properly encode strings for display (unprintable chars as #$nn)
git-svn-id: trunk@59777 -
2018-12-10 21:04:08 +00:00
martin
7e6959a326 FpDebug: Fix Dwarf3 on 64bit. The The 32/64bit signature in the dwarf header should only affect references within the dwarf info. But by accident it affected constant addresses. This lead to truncation of some addresses, when dwarf-3 was used with 64 bit targets.
git-svn-id: trunk@59776 -
2018-12-10 20:57:24 +00:00
martin
c5fdbd440a FpDebug: fix accessing nil fileloader. Introduced in rev 59729 #f09614b9a8 / Issue #0034657
git-svn-id: trunk@59745 -
2018-12-06 23:37:45 +00:00
martin
a33608de2e FpDebug: Windows, fix leaking filehandles (again), see r59552 #122dfbd2ce / needed until forked processes are handled.
git-svn-id: trunk@59741 -
2018-12-06 18:03:18 +00:00
martin
0506cd7fb5 FpDebug: Windows, Check dwDebugEventCode before accessing case dependent data
git-svn-id: trunk@59740 -
2018-12-06 18:01:02 +00:00
martin
d7efb8aa10 FpDebug,Mac: macho file reader - remove unused object / re-use instance for parser
git-svn-id: trunk@59736 -
2018-12-06 15:05:59 +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
f09614b9a8 FpDebug: (Linux/Mac) Do not keep files open longer than needed. Systems may limit max files open. (Mac opens many files)
git-svn-id: trunk@59729 -
2018-12-05 01:49:29 +00:00
martin
f9abff2df4 FpDebug (incl lldb/gdb): Fix crash due to wrong cache removed from list. List could have 2 caches with same address, if a smaller cache was replaced by a bigger. Remove could destroy one and remove the other
git-svn-id: trunk@59728 -
2018-12-04 22:20:16 +00:00
martin
bba050e333 FpDebug: Disable assert, until fixed
git-svn-id: trunk@59727 -
2018-12-04 17:12:05 +00:00
martin
84ba359bbd FpDebug: print type-name for structured types
git-svn-id: trunk@59692 -
2018-11-29 13:46:46 +00:00
mattias
9fef4bbe0d fpdebug: fixed framwork name Security
git-svn-id: trunk@59669 -
2018-11-26 22:31:09 +00:00
martin
2cace808be LazDebuggerFp, FpDebug: (windows only) implemented switching threads while paused. (On Linux only one thread is currently paused, so switching is not possible)
git-svn-id: trunk@59571 -
2018-11-17 14:16:09 +00:00
martin
b3179348c0 FpDebug: More verbose error, if failing to open file
git-svn-id: trunk@59570 -
2018-11-17 14:02:43 +00:00
martin
3f70eb5a9d FpDebug: Windows, replace global context (thread context/registers) with context per thread
git-svn-id: trunk@59569 -
2018-11-17 13:55:54 +00:00
martin
129c834748 FpDebug: fix memleak if no loader for file format is found
git-svn-id: trunk@59563 -
2018-11-16 20:30:20 +00:00
martin
e1a6096d71 FpDebug: format structured values (class) as one line per field
git-svn-id: trunk@59557 -
2018-11-16 13:15:33 +00:00
martin
122dfbd2ce FpDebug: Windows, fix leaking filehandles / more (temp) fixes for not processing forked children
git-svn-id: trunk@59552 -
2018-11-15 22:42:41 +00:00
martin
84e5ae329a FpDebug: Workaround for dangling thread object
git-svn-id: trunk@59551 -
2018-11-15 22:41:07 +00:00
martin
80defc9157 FpDebug: workaround, prevent loosing the main process, if child processes are created. The Controller needs overall rework to handle multiple attached processes.
git-svn-id: trunk@59546 -
2018-11-15 16:41:46 +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
1b9614bd52 FpDebug: fixed a memory leak, when the debugged process forked child processes.
git-svn-id: trunk@59525 -
2018-11-11 23:09:44 +00:00
martin
e4adcb2815 FpDebug, DwarfViewer: fix 64bit
git-svn-id: trunk@59509 -
2018-11-11 14:47:57 +00:00
martin
f0d8e3150c fix Makefiles
git-svn-id: trunk@59496 -
2018-11-09 15:08:28 +00:00
martin
7dceed7de3 fp debug: Makefiles
git-svn-id: trunk@59495 -
2018-11-09 14:34:16 +00:00
martin
c54639d227 FpDebug: Allow to specify poNewConsole on windows
git-svn-id: trunk@59488 -
2018-11-07 23:13:11 +00:00
martin
9b2f44b8c8 Lldb/Gdb - FpDebug: fix crash in pretty printer when called from lldb/gdb mixed debugger (MemManager not set)
git-svn-id: trunk@59443 -
2018-11-03 22:45:16 +00:00
mattias
7fde8c4b92 fpdebug: less hints
git-svn-id: trunk@59210 -
2018-10-01 15:10:56 +00:00
martin
ae279a0337 fpdebug: use TFPGMap instead of TStringList. Included in patch of Issue #34225 Patch by David Jenkins
git-svn-id: trunk@58892 -
2018-09-06 11:26:24 +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
juha
d43fa548b8 LazUtils: Rename unit LazUTF8SysUtils -> LazSysUtils. It had nothing to do with character encoding.
git-svn-id: trunk@58630 -
2018-07-25 13:38:59 +00:00
martin
adee3883fa fp debug: introduce mem reader cache
git-svn-id: trunk@58417 -
2018-06-28 10:27:02 +00:00
joost
3f08871ce8 fpdebug: Fixed compilation with verbose debugging
git-svn-id: trunk@58416 -
2018-06-26 21:40:16 +00:00
martin
ef0ef04087 Dwarfviewer: update dwarf loading (recent refactor)
git-svn-id: trunk@58401 -
2018-06-25 13:48:58 +00:00
martin
23d5c0bdc7 FP Debugger: fix range checks / do not use arbitrary large static arrays (gdb dislikes the debuginfo)
git-svn-id: trunk@58399 -
2018-06-24 22:56:20 +00:00
martin
a80f8c659c FpDebug: refactor for loading MacOs sym in mixed lldb/gdb debug
git-svn-id: trunk@58395 -
2018-06-24 19:31:39 +00:00
martin
d1d7164b75 FpDebug: IDEBuildOptions
git-svn-id: trunk@58394 -
2018-06-24 19:29:08 +00:00
martin
0db8c632c5 FpDebug: MacOs, find dwarf info in app bundle
git-svn-id: trunk@58307 -
2018-06-18 13:16:32 +00:00
joost
abe6b86bb0 fpdebug: implemented step-out
git-svn-id: trunk@58218 -
2018-06-10 21:03:29 +00:00
martin
f5d955dd72 updates to test/dwarfviewer (show line info)
git-svn-id: trunk@58202 -
2018-06-09 13:03:05 +00:00
martin
54445f8381 LazDebuggerFP: fix (stackframe) register for 64bit app / enable watches,locals on selected stackframe
git-svn-id: trunk@58200 -
2018-06-09 12:35:00 +00:00
joost
cf440de910 fpdebug: Do not suspend on the start of a child-process
git-svn-id: trunk@58160 -
2018-06-06 20:51:41 +00:00
joost
317bc74ea3 fpdebug: Fill the IDE's list of threads
git-svn-id: trunk@58146 -
2018-06-05 20:44:25 +00:00
joost
1f5eb8d171 fpdebug: Improved handling of threads, removed several assumptions that the main-thread was being debugged
git-svn-id: trunk@58128 -
2018-06-04 21:52:32 +00:00
joost
50cce1a623 fpdebug: Handling of multiple threads (Linux)
git-svn-id: trunk@58095 -
2018-06-03 13:00:00 +00:00
mattias
09619c5659 fpdebug: clean up
git-svn-id: trunk@57787 -
2018-05-04 10:41:46 +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
martin
cf72a4270c FPDebugger: Fix compilation of testcase
git-svn-id: trunk@57781 -
2018-05-03 18:43:32 +00:00
martin
c946f67b86 FPDebugger: Prevent "internal events" (in debug loop) from changing the debugger state. In case of "QuickPause" the flag gets cleared, and the real quick-pause event causes the target to be fully paused. (pause/asm-win, when setting breakpoint while running -> win32 interrupt causes new thread) // TODO: LoadLibrary may have the same issue
git-svn-id: trunk@57779 -
2018-05-03 18:36:02 +00:00
martin
196ed8504a FPDebugger: Fix line state machine, inc counter for EndSequence
git-svn-id: trunk@57778 -
2018-05-03 18:28:09 +00:00
joost
0678543521 * Fixed range-check error due to uninitialized variable
git-svn-id: trunk@54573 -
2017-04-08 14:40:37 +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
mattias
b6dc57342f fpdebug: comment
git-svn-id: trunk@53503 -
2016-12-01 10:33:58 +00:00
mattias
934d3bae21 fpdebug: fixed typo
git-svn-id: trunk@52909 -
2016-09-04 12:18:22 +00:00
bart
7c05fefe10 fpdebug: Add package DebuggerIntf as depenency to asmtest program.
git-svn-id: trunk@52492 -
2016-06-12 16:59:58 +00:00
bart
b5173811fb Fix some more spelling errors.
git-svn-id: trunk@52491 -
2016-06-12 16:53:49 +00:00
bart
e12b65390b Fix some more spelling errors.
git-svn-id: trunk@52490 -
2016-06-12 16:32:39 +00:00
mattias
17f571cf26 components: less hints
git-svn-id: trunk@51788 -
2016-03-01 15:31:26 +00:00
martin
0edc9138ee fpdebugger: fix another Free instead of ReleaseRef
git-svn-id: trunk@51580 -
2016-02-10 18:42:51 +00:00
mattias
bf3d90af8b fpdebug: fixed TDbgWinProcess.Continue to call Windows.ContinueDebugEvent even though aThread invalid
git-svn-id: trunk@50930 -
2015-12-19 11:06:19 +00:00
mattias
8fd1210a8b fpdebug: fixed TDbgWinProcess.RemoveLib free lib, bug #29206, patch from Anton
git-svn-id: trunk@50887 -
2015-12-17 22:10:23 +00:00
mattias
03c19a6402 fpdebug: fixed TDbgWinProcess.Continue if aThread invalid return false
git-svn-id: trunk@50885 -
2015-12-17 22:08:19 +00:00
mattias
269420bf8c fpdebug: fixed TDbgWinProcess.Continue checking if aThread valid, bug #29206, patch from Anton
git-svn-id: trunk@50883 -
2015-12-17 22:04:50 +00:00
mattias
b11155e714 fpdebug: fixed mem leak
git-svn-id: trunk@50881 -
2015-12-17 21:58:59 +00:00
mattias
3a33b42792 fpdebug: fixed mem leak
git-svn-id: trunk@50878 -
2015-12-17 21:57:07 +00:00
mattias
e7ce75b682 fpdebug: using Windows W functions
git-svn-id: trunk@50617 -
2015-12-04 19:02:39 +00:00
mattias
0924792e5f fpdebug: using TProcessUTF8
git-svn-id: trunk@50596 -
2015-12-04 16:03:20 +00:00
joost
c20f70ce0c DebuggerIntf: In r49328 #ec422cddc6 the nestedprocvars modeswitch is used. Bug report #28306 shows that this does not work on win32-fpc 2.6.4. Probably a compiler bug. This patch avoids the use of nestedprocvars with fpc versions 2.x.x
git-svn-id: trunk@49396 -
2015-06-21 18:10:51 +00:00
joost
744810b288 FpDebugServer: Added registers command
git-svn-id: trunk@49379 -
2015-06-21 10:11:52 +00:00
joost
6d32f521e9 FpDebugServer: Added locals command
git-svn-id: trunk@49370 -
2015-06-19 20:23:19 +00:00
joost
dc5207067c FpDebugServer: Option to specify LinesBefore added to disassemble command
git-svn-id: trunk@49350 -
2015-06-16 15:08:18 +00:00
joost
a8ae389b6f FpDebugServer: Added disassemble command
git-svn-id: trunk@49287 -
2015-06-07 13:13:58 +00:00
joost
d5bcf79820 FpDebugServer: Fixed possible AV on commands that are executed without a process being running
git-svn-id: trunk@49269 -
2015-06-04 19:26:47 +00:00
joost
f504e38ee7 FpDebugServer: Added setconsoletty command.
git-svn-id: trunk@49268 -
2015-06-04 19:20:35 +00:00
joost
c88aaffaa0 FpDebugServer: Add console-message to json-event-messages.
git-svn-id: trunk@49267 -
2015-06-04 19:11:49 +00:00
joost
5960d41722 FpDebugServer: Re-direct console output
git-svn-id: trunk@49264 -
2015-06-04 17:47:09 +00:00
joost
cfa932781f FpDebugServer: Show function-parameters in callstack
git-svn-id: trunk@49237 -
2015-06-01 20:06:07 +00:00
joost
50fb4a0145 FpDebugServer: Clear the cached call-stack immediately after retrieval
git-svn-id: trunk@49225 -
2015-05-31 09:54:56 +00:00
joost
bda023911d FpDebugServer: Resolved some warnings
git-svn-id: trunk@49213 -
2015-05-29 17:45:22 +00:00
joost
a48ce84628 FpDebugServer: TFpDebugThreadStackTraceCommand added
git-svn-id: trunk@49212 -
2015-05-29 17:40:23 +00:00
joost
56ac4902c2 FpDebugServer: Fixed AV when a script contains an invalid command
git-svn-id: trunk@49178 -
2015-05-26 15:36:23 +00:00
joost
8d4b6344c0 FpDebugServer: Added basic "evaluate" command
git-svn-id: trunk@49166 -
2015-05-25 15:22:59 +00:00
joost
172dbb56d6 FpDebugServer: Added option to run all debug-commands in a (script) file
git-svn-id: trunk@49164 -
2015-05-25 08:37:43 +00:00
joost
3be8873d05 FpDebugServer: Replaced TThreadList in combination with a sleep with a TLazThreadedQueue to improve performance
git-svn-id: trunk@49153 -
2015-05-23 20:11:42 +00:00
joost
8b2acf39c1 FpDebugServer: Added --interactive option to return an easy parseable output with the tcp-port number.
git-svn-id: trunk@49134 -
2015-05-22 19:54:47 +00:00
martin
2c1cc645e3 fpdebug: added params to stack
git-svn-id: trunk@49123 -
2015-05-20 21:00:18 +00:00
martin
aa537ca865 fpdebug: mem leak
git-svn-id: trunk@49087 -
2015-05-18 20:11:46 +00:00
martin
311acd5b58 fpdebug: check for bounds, before accessing
git-svn-id: trunk@49086 -
2015-05-18 20:11:13 +00:00
joost
71acdc189d FpDebugServer: Added TFpDebugThreadQuitDebugServerCommand to quit application
git-svn-id: trunk@49061 -
2015-05-17 11:15:46 +00:00
joost
48e5ae3ac0 FpDebugServer:
- Added port and autoport options to specify which (range of) tcp/ip-ports to bind to
 - Send a ListenerMessage with the actual port the tcp-ip connection is listening to
 - Added TFpDebugThreadCommand.PreExecute to execute command outside of the debug-loop
 - Changed default tcp/ip port to 9159

git-svn-id: trunk@49060 -
2015-05-17 11:09:50 +00:00
joost
c789c208a0 FpDebugServer: Fixed mem-leak after GetPropList
git-svn-id: trunk@49058 -
2015-05-17 10:29:57 +00:00
joost
d01741250f FpDebugServer: Added options to enable/disable console- and tcp-operation
git-svn-id: trunk@49034 -
2015-05-15 19:04:16 +00:00
joost
46c90d4df2 FpDebugServer: Moved handling of the console to a separate thread.
git-svn-id: trunk@49032 -
2015-05-15 17:35:45 +00:00
martin
7e4cfe0aea fpdebug: range checks
git-svn-id: trunk@49030 -
2015-05-15 15:19:12 +00:00
martin
24d973001c fpdebug: fix pause on win32
git-svn-id: trunk@49029 -
2015-05-15 15:04:11 +00:00
martin
ecf6e6a2a9 fpdebug: fix ebp register for stackframes
git-svn-id: trunk@49028 -
2015-05-15 15:03:04 +00:00
joost
1c9d6064f2 FPDServer: Command added to remove breakpoint
git-svn-id: trunk@49017 -
2015-05-14 08:50:35 +00:00
martin
44de4b4034 fpdebug: prevent crash if breakpoint at address already exists (can happen if line info is not read correct / generics?)
git-svn-id: trunk@49000 -
2015-05-12 20:02:18 +00:00
martin
8e4a8c8468 fpdebug: fix compile for win
git-svn-id: trunk@48997 -
2015-05-12 17:59:24 +00:00
joost
001be758a5 FPDServer: Stand-alone debugger that can be controlled from the console or remote through tcp/ip
git-svn-id: trunk@48991 -
2015-05-12 06:25:21 +00:00
joost
0738480a91 FpDebug: Fixed mem-leak when application closes while debugee is still running
git-svn-id: trunk@48928 -
2015-05-05 07:59:15 +00:00
joost
28faa771f6 FpDebug: The reason why a run failed is not debug information, but real information.
git-svn-id: trunk@48927 -
2015-05-05 07:57:01 +00:00
joost
640226c89b FpDebug: Forgot to include file in r48864 #c53e775af5
git-svn-id: trunk@48865 -
2015-04-25 19:18:08 +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
5e3d796544 FpDebug: Removed unused overload of GetImageReader
git-svn-id: trunk@48846 -
2015-04-25 11:12:55 +00:00
joost
6469a000d3 FpDebug: Removed empty method.
git-svn-id: trunk@48639 -
2015-04-05 20:23:20 +00:00
joost
8f9d2106db FpDebug: Re-structured the reading of debug-information from multiple files.
git-svn-id: trunk@48638 -
2015-04-05 20:08:17 +00:00
joost
25cd93d480 FpDebug: Do not overwrite data (and create mem-leaks) when there are sections with duplicate names
git-svn-id: trunk@48595 -
2015-04-02 20:40:13 +00:00
joost
8b06480841 FpDebug: Avoid endless exceptions when the debugger does not have enough rights to debug on Darwin.
git-svn-id: trunk@48515 -
2015-03-26 20:30:56 +00:00
joost
0923ac9836 FpDebug: - Ability to disable usage of a pseudo-tty
- Ability to supply tty to bind standard input/output to

git-svn-id: trunk@48450 -
2015-03-22 01:08:00 +00:00
joost
a479c66ebe fpdebug: Pass parameters to the debuggee in the console-version
git-svn-id: trunk@47519 -
2015-01-25 17:37:34 +00:00
joost
f4818c2bfd FpDebug: Do not stop on lines with unknown line info (linenr=0)
git-svn-id: trunk@47222 -
2014-12-19 10:42:19 +00:00
joost
a3f3091a75 * Extract debug-info from real executable when debugging an application folder
git-svn-id: trunk@47188 -
2014-12-13 09:15:26 +00:00
joost
3dcfa14f49 * Avoid AV when the loaded faied to initiate a valid ImgReader
git-svn-id: trunk@47187 -
2014-12-13 09:06:40 +00:00
martin
bb622e5b7b Fpdebug: display more values
git-svn-id: trunk@47131 -
2014-12-07 22:25:24 +00:00
mattias
bd1655b970 fpdebug: clean up
git-svn-id: trunk@46945 -
2014-11-21 23:47:27 +00:00
mattias
27e32c8bad lazdebuggerfp: clean up
git-svn-id: trunk@46944 -
2014-11-21 23:44:10 +00:00
mattias
41e211ac48 fpdebug: fixed compilation
git-svn-id: trunk@46909 -
2014-11-20 22:12:54 +00:00
martin
80a15d2141 Suppress VALID warnings until review
git-svn-id: trunk@46907 -
2014-11-20 16:34:23 +00:00
martin
56a4a31450 fix some warnings
git-svn-id: trunk@46906 -
2014-11-20 16:27:55 +00:00
joost
9616a4ffe4 FpDebugger (pure): TFpSymbolContext.GetSizeOfAddress now returns 8 for 64-bit debuggees
git-svn-id: trunk@46163 -
2014-09-08 19:53:40 +00:00
joost
bee90dd030 FpDebugger (pure): Same change as in r46136 #4b8e6daa2f, but for step into, to avoid problems in fpc-generated debuginfo
git-svn-id: trunk@46162 -
2014-09-08 19:44:13 +00:00
joost
2725568fae FpDebug: Give a warning when the UUID of the dSym-bundle and the debuggee do not match
git-svn-id: trunk@46149 -
2014-09-07 11:25:34 +00:00
joost
2d61f083f6 FpDebugger (pure): When stepping out of a function on a next, only stop at the first instruction of a line. Just like it is done on step into.
git-svn-id: trunk@46147 -
2014-09-06 20:50:12 +00:00
joost
9070ac0b2c FpDebugger (pure): Added logging, enable with define DBG_FPDEBUG_VERBOSE
git-svn-id: trunk@46143 -
2014-09-06 18:40:30 +00:00
joost
4b8e6daa2f FpDebugger (pure): On a next, only stop if the current instruction is the first instruction of a line. This is to solve a problem in fpcs debuginfo.
git-svn-id: trunk@46136 -
2014-09-05 20:37:43 +00:00
joost
25ff00e44c FpDebugger (pure): Solved mem-leaks by releasing references to symbols found by FindSymbol
git-svn-id: trunk@46132 -
2014-09-05 16:49:36 +00:00
joost
851695cec4 FpDebugger (native): Fix for setting a breakpoint on the current execution-point
git-svn-id: trunk@46122 -
2014-09-03 20:16:53 +00:00
joost
d28ad93b73 fpDebug: Revert of files accidentally committed in r46119 #afc3882ca7
git-svn-id: trunk@46120 -
2014-09-03 14:44:07 +00:00
joost
afc3882ca7 FpDebug: Disabled range-checking to fix range-check error. The fix in r46105 #bbf07c5bd6 leads to a datastructure which is too large for 32 bit
git-svn-id: trunk@46119 -
2014-09-03 14:39:44 +00:00
joost
bbf07c5bd6 FpDebug: Fixed range-check error on reading debug-info with more then maxSmallint symbols
git-svn-id: trunk@46105 -
2014-09-02 19:34:58 +00:00
joost
f1bdd969f5 FpDebugger (pure, console): Fixed mem-leak on showing line-info
git-svn-id: trunk@46103 -
2014-09-01 16:38:41 +00:00
joost
ddfbd6ade9 FpDebugger (pure): Fixed mem-leak bij freeing debug-threads
git-svn-id: trunk@46102 -
2014-09-01 16:26:08 +00:00
joost
9c5f82c924 FpDebugger (pure): Fixed mem-leak by freeing FProcessMap
git-svn-id: trunk@46101 -
2014-09-01 15:45:36 +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
27c60931ec FpDebugger (native): Use a pseudo-terminal to capture console output on OS/X
git-svn-id: trunk@46095 -
2014-08-31 12:45:43 +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
joost
d062000bf3 FpDebug: Another fix for the length of DW_FORM_ref_addr in Dwarf v3
git-svn-id: trunk@46075 -
2014-08-25 20:50:08 +00:00
joost
289f8e8657 FpDebug: Set function result in TFpDwarfInfo.FindContext
git-svn-id: trunk@46074 -
2014-08-25 18:53:29 +00:00
joost
bdbccce289 FpDebugger (pure): Use a pseudo-terminal instead of pipes to read the debuggees out- and in-put
git-svn-id: trunk@46070 -
2014-08-24 12:22:23 +00:00
joost
daaa427f54 FpDebugger (pure): Re-direct console output to the terminal-output debug window on Linux
git-svn-id: trunk@46058 -
2014-08-22 15:47:46 +00:00
joost
8fd0269bae FpDebug (pure): Detect if a HW breakpoint has been triggered on Linux
git-svn-id: trunk@46045 -
2014-08-16 21:40:08 +00:00
joost
93aea56c3b FpDebugger (pure): New heuristics for step-into
git-svn-id: trunk@46008 -
2014-08-04 08:14:13 +00:00
joost
c43ebefc0f FpDebugger (pure): - Fixed problem with the recognition of a software breakpoint when a hardware breakpoint has been triggered on the same location
- Ability to check if and which hardware brakpoint has been triggered

git-svn-id: trunk@46006 -
2014-08-03 20:09:46 +00:00
joost
ac95b9c55d FpDebugger (pure): Patch from Colin Western to resolve relative filenames in Dwarf-debug info.
git-svn-id: trunk@45933 -
2014-07-20 13:27:52 +00:00
joost
be7b70f172 FpDebugger (pure): Re-wrote RunTo using a TDbgControllerCmd
git-svn-id: trunk@45900 -
2014-07-17 18:53:58 +00:00
joost
b1d95c58dc FpDebugger (pure): Ignore SIGCHLD signal and let the debuggee handle it (Darwin)
git-svn-id: trunk@45885 -
2014-07-15 20:37:36 +00:00
joost
22ff8ae3ff FpDebugger (pure): Ignore SIGCHLD signal and let the debuggee handle it (Linux)
git-svn-id: trunk@45884 -
2014-07-15 20:35:21 +00:00
joost
636ffbe4da FpDebugger (pure): Fixed compilation with fpc 2.6.4 on OS/X and Linux
git-svn-id: trunk@45874 -
2014-07-15 06:35:46 +00:00
joost
93618ffad0 FpDebugger (pure): Implemented pause (Linux)
git-svn-id: trunk@45867 -
2014-07-14 20:32:01 +00:00
joost
e5f73f7d0f FpDebuger (pure): Fix for pausing the debuggee
git-svn-id: trunk@45866 -
2014-07-14 20:28:34 +00:00
joost
02c66deadd FpDebugger (pure): Implemented pause (Darwin)
git-svn-id: trunk@45865 -
2014-07-14 20:11:02 +00:00
joost
113cc3749d FpDebug: Parse the symbol-table from elf-executables
git-svn-id: trunk@45858 -
2014-07-13 20:59:00 +00:00
joost
89f94d01be FpDebugger (pure): Watchpoints on 32-bit linux
Removed some old debug-code

git-svn-id: trunk@45854 -
2014-07-13 11:23:07 +00:00
joost
eaf0dffc07 FpDebugger (pure): Make step-into work even without having watchpoints available. (Even though it will be slow)
git-svn-id: trunk@45851 -
2014-07-13 10:24:03 +00:00
joost
eb735a3db1 FpDebugger (pure): Fix for getting the frame-pointer
git-svn-id: trunk@45850 -
2014-07-13 10:05:14 +00:00
joost
8397b21039 FpDebugger (pure): Show error-message on failure to start debuggee
git-svn-id: trunk@45848 -
2014-07-12 21:05:22 +00:00
joost
769fbc3cde FpDebug: Removed invalid code that does not compile with fpc 2.7.1 (see fpc-bug 25769)
git-svn-id: trunk@45847 -
2014-07-12 19:51:06 +00:00
joost
e76f27604f FpDebug: Synchronized changes in fpdebug.lpk (r45780) with fpdebug.pas
git-svn-id: trunk@45846 -
2014-07-12 18:56:17 +00:00
joost
113cc6e509 FpDebugger (pure): Show warning when there is no Dwarf-debug information available
git-svn-id: trunk@45843 -
2014-07-12 15:40:00 +00:00
joost
c670807110 FpDebugger (pure): Use GETREGSET instead of GETREGS, cross-arch-debugging on Linux
git-svn-id: trunk@45842 -
2014-07-12 15:30:46 +00:00
joost
42ba440a7d FpDebugger (pure): i386-linux support
git-svn-id: trunk@45834 -
2014-07-11 21:29:07 +00:00
joost
3dd28b3d12 FpDebugger (pure): Select the right 32/64-bit assembler when cross-debugging
git-svn-id: trunk@45833 -
2014-07-11 19:58:35 +00:00
joost
ad1e0f1a6e FpDebugger (pure): Re-added some Darwin-specific stuff that got lost somehow (probably never comitted)
git-svn-id: trunk@45821 -
2014-07-10 21:07:35 +00:00
joost
600fc1036c FpDebugger (pure): Let the memory-manager read memory from within the debugging-thread on Linux.
More fixes for getting the instruction-register on x86_64
Fixxed setting the line-info on Darwin and Linux

git-svn-id: trunk@45817 -
2014-07-08 21:15:04 +00:00
joost
bcb2f4643e FpDebugger (pure): Hardware-breakpoints on Linux/x86_64
git-svn-id: trunk@45794 -
2014-07-06 16:26:16 +00:00
joost
a0fe6adf48 FpDebugger (pure): Do not try to compile the linux-units on non-linux systems
git-svn-id: trunk@45780 -
2014-07-04 21:44:37 +00:00
joost
8f433367c7 FpDebugger (pure): Use a TFPGObjectList to free the items. Fixes several mem-leaks
git-svn-id: trunk@45779 -
2014-07-04 20:11:51 +00:00
joost
982f401425 FpDebugger (pure): Cleanup unused variables
git-svn-id: trunk@45778 -
2014-07-04 20:00:08 +00:00
joost
64a67e7166 FpDebugger (pure): Fix for getting the frame- and instruction-pointer from the callstack on architectures other then i386
git-svn-id: trunk@45777 -
2014-07-04 19:26:26 +00:00
joost
91d19d2124 FpDebug: Revert of accidentally committed files in r45775 #0fac0512c8
git-svn-id: trunk@45776 -
2014-07-04 19:20:17 +00:00
joost
0fac0512c8 FpDebug (pure): Fix for format-parameters in error-message
git-svn-id: trunk@45775 -
2014-07-04 19:13:35 +00:00
joost
f38e91869e FpDebug: DW_FORM_strps lenght equals the adres size in Dwarf 1/2
git-svn-id: trunk@45774 -
2014-07-04 19:01:06 +00:00
joost
3db6e1f4dc FpDebug (pure): Set uninitialized function result
git-svn-id: trunk@45766 -
2014-07-03 19:40:45 +00:00
joost
e48fb34a9a FpDebug (pure): Do not try to set register-values twice
git-svn-id: trunk@45765 -
2014-07-03 19:37:41 +00:00
joost
5f0402b4c2 FpDebug (pure): Added Linux-support
git-svn-id: trunk@45732 -
2014-06-29 20:55:54 +00:00
joost
147a8bf840 FpDebugger (console): Show registers
git-svn-id: trunk@45650 -
2014-06-24 20:03:28 +00:00
joost
b8018f83f3 FpDebug (pure): Add/remove 64-bit watchpoints on Darwin
git-svn-id: trunk@45649 -
2014-06-24 17:36:36 +00:00
joost
4171928dd9 LazDebuggerFp (pure): Improved handling of step-over/into-line, when a library is loaded, a breakpoint is hit or when stepping out of a procedure.
git-svn-id: trunk@45595 -
2014-06-21 19:10:03 +00:00
joost
843f23eafd LazDebuggerFp (pure): Rewrote/refactored ResolveDebugEvent. As much as possible code moved from the os-specific classes to the general classes. Now TDbgProcess and TDbgThread only handle single-stepping and the handling of breakpoints and exceptions. Other commands (like step-line, step-into-line etc) are implemented as childs of TDbgControllerCmd. All specific handling is done in those classes.
git-svn-id: trunk@45590 -
2014-06-20 15:22:45 +00:00
joost
0016101b7f FpDebugger (pure): Show a message when starting the debuggee has failed. With some special attention to the case that someone tries to debug a 64 bit application with a 32 bit debugger.
git-svn-id: trunk@45432 -
2014-06-09 16:29:25 +00:00
joost
1b1997f370 FpDebugger (pure): Changed notification-level for errors during reading memory from dllInfo to dllDebug. It is quite normal that a debugger tries to read memory from invalid addresses.
git-svn-id: trunk@45428 -
2014-06-09 12:36:51 +00:00
joost
56442faf8e FpDebugger (pure): Set the correct register-sizes for x86_64-win64.
git-svn-id: trunk@45427 -
2014-06-09 12:16:38 +00:00
joost
6818c26a68 FpDebugger (pure): Updated the Dwarf-register number information on OS/X, see x86reg.dat/amd64-tdep.c.
git-svn-id: trunk@45426 -
2014-06-09 11:56:47 +00:00
joost
a3149e411e FpDebugger (pure): Updated the Dwarf-register number information on Windows, see x86reg.dat/amd64-tdep.c.
git-svn-id: trunk@45425 -
2014-06-09 10:34:49 +00:00
joost
eaef9905a5 FpDebugger (console): Several improvements on the output of the console-debugger
git-svn-id: trunk@45424 -
2014-06-09 09:35:28 +00:00
joost
5c3fd8af1d FpDebugger (pure): Let the kernel close the debug-handle after an application has quit. (bug #25986)
git-svn-id: trunk@45423 -
2014-06-09 09:33:32 +00:00
joost
f746dc6a42 FpDebugger (console): Use 'Debug' and 'Error' prefixes for dllError and dllDebug messages.
git-svn-id: trunk@45410 -
2014-06-08 22:33:32 +00:00
joost
9052ce0136 FpDebugger (pure): Use the (thread-safe) log system instead of DebugLn
git-svn-id: trunk@45409 -
2014-06-08 22:22:50 +00:00
joost
22e7389619 FpDebugger (pure): Refactored creation of new TDbgThreads
git-svn-id: trunk@45407 -
2014-06-08 18:59:06 +00:00
joost
24a6aab526 FpDebugger (pure): Retrieve the file-names of loaded processes and modules.
git-svn-id: trunk@45400 -
2014-06-08 13:18:23 +00:00
joost
d3edca108f FpDebugger (pure): Fixed the handling of a debuggee that starts child-processes
git-svn-id: trunk@45391 -
2014-06-08 00:13:50 +00:00
joost
3fb55d6ed6 FpDebug (pure): Added thread-safe loggingsystem with three log-levels. The log-levels dllInfo and dllError are used to show messages/errors in the ide.
The new log-system is used to show a message when there is no dSym-bundle with Dwarf-debug info or if the ide has not enough rights to debug applications. (OS/X)

git-svn-id: trunk@45382 -
2014-06-07 14:27:48 +00:00
joost
51c0c59b2b FpDebug (pure): Changes for cross-debugging
git-svn-id: trunk@45315 -
2014-06-03 06:15:08 +00:00
joost
b526979d64 FpDebugger (pure): Removed excessive debug-output.
git-svn-id: trunk@45292 -
2014-06-01 19:46:06 +00:00
joost
2692d96325 FpDebug: Fixed AV in console-debugger due to an uninitialized variable
git-svn-id: trunk@45291 -
2014-06-01 18:29:42 +00:00
joost
d72d8c2db8 FpDebug: Partly revert of accidentally committed r45286 #0275eec89b. The part that hasn't been reverted is the removal of the dependency on LCLbase.
git-svn-id: trunk@45287 -
2014-06-01 16:41:11 +00:00
joost
0275eec89b git-svn-id: trunk@45286 - 2014-06-01 16:28:56 +00:00
joost
62bcb922cd FpDebugger (pure): x86_64-debugging on Win64. (Win32-win64 cross-debugging not possible on Windows. Win64-win32 is still not implemented)
git-svn-id: trunk@45284 -
2014-06-01 16:27:35 +00:00
joost
2293aef061 FpDebug (pure): Fixed some constant values
git-svn-id: trunk@45233 -
2014-05-30 09:21:52 +00:00
joost
7539c6e5ff FpDebug (pure): Debug 64-bit binaries on OS/X
git-svn-id: trunk@45229 -
2014-05-29 20:19:49 +00:00
joost
53076fb0cb FpDebug: In 64-bit binaries the size of references to Dwarf-data is not dependent on the address-size, but on the Dwarf-format being in 64-bit format
git-svn-id: trunk@45227 -
2014-05-29 20:15:15 +00:00
joost
3e1cd7e526 FpDebug: Read FORM_strp string values
git-svn-id: trunk@45225 -
2014-05-29 19:59:27 +00:00
joost
f81a1f3ea6 LazDebuggerFp (pure): Read macho-64 binaries
git-svn-id: trunk@45173 -
2014-05-25 16:38:40 +00:00
joost
3d95b919cf LazDebuggerFp (pure): Parse symbol-table on Windows. (Enables software-exceptions support)
git-svn-id: trunk@45162 -
2014-05-24 21:26:27 +00:00
joost
f31423f2de FpDebug: Search in symbol-table when setting breakpoints in console-debugger
git-svn-id: trunk@45161 -
2014-05-24 19:38:00 +00:00
zeljko
404a3f3bd3 fpdebug: fixed compilation under x86_64.
git-svn-id: trunk@45152 -
2014-05-22 18:58:17 +00:00
joost
61775433a1 FpDebugger (pure): Pause on fpc software-breakpoints
git-svn-id: trunk@45146 -
2014-05-22 07:41:01 +00:00
martin
668ff18191 FpDebug: added type skAddress
git-svn-id: trunk@45039 -
2014-05-14 21:02:13 +00:00
joost
69a51cde62 FpDebug: Read the symbol-table on OS/X
git-svn-id: trunk@45038 -
2014-05-14 20:21:22 +00:00
martin
d57cd64ddb FpGdbmiDebugger: display "inherits from" in debug-inspector
git-svn-id: trunk@45007 -
2014-05-11 15:40:30 +00:00
martin
b1eca5be27 FpGdbmiDebugger: more tests / tests clean up / repeatcount for memdump
git-svn-id: trunk@45005 -
2014-05-11 14:59:56 +00:00
martin
87080f5081 FpDebugger (pure): function name in stack
git-svn-id: trunk@44989 -
2014-05-10 02:01:14 +00:00
martin
3a712955ca FpDebugger (pure): eval watches for selected stackframe
git-svn-id: trunk@44987 -
2014-05-10 00:44:49 +00:00
joost
7ba1fd42b7 LazDebuggerFp (pure): Exception handling on OS/X
git-svn-id: trunk@44978 -
2014-05-08 19:13:29 +00:00
martin
89d29e376f FpGdbmiDebugger, FPDebug: move code for watches dbginfo
git-svn-id: trunk@44974 -
2014-05-08 16:29:54 +00:00
joost
f25dee1d51 LazDebuggerFp (pure): Exception handling. (no software exceptions)
git-svn-id: trunk@44970 -
2014-05-07 18:32:50 +00:00
joost
4b1ac8df58 FpDebug: Implemented simple 'evaluation' command for command-line debugger example.
git-svn-id: trunk@44968 -
2014-05-07 16:17:48 +00:00
martin
c239838960 FpDebug: partial implementation of "repeat count"
git-svn-id: trunk@44937 -
2014-05-06 19:32:25 +00:00
joost
31762452ae LazDebuggerFp (pure): Handle working-directory and environment of debuggee
git-svn-id: trunk@44936 -
2014-05-06 19:25:38 +00:00
martin
6a9ea0f2ff FpDebug: error checks
git-svn-id: trunk@44929 -
2014-05-05 22:57:31 +00:00
joost
04283997b4 LazDebuggerFp (pure): Pass arguments to debuggee
git-svn-id: trunk@44928 -
2014-05-05 20:15:42 +00:00
joost
79f817ca53 LazDebuggerFp (pure): Use TProcess to start debuggee
git-svn-id: trunk@44922 -
2014-05-05 10:21:16 +00:00
martin
60aa4dd2fc FpDebug: missing result
git-svn-id: trunk@44919 -
2014-05-05 03:02:16 +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
b2830cbfb2 FpDebug: fix crash in type-printer
git-svn-id: trunk@44908 -
2014-05-04 16:51:38 +00:00
joost
c700bfe172 LazDebuggerFp (pure): Implemented basic callstack
git-svn-id: trunk@44906 -
2014-05-04 12:08:50 +00:00
joost
17f29c4ac2 FpDebug: Implemented GetStackPointerRegisterValue on Darwin
git-svn-id: trunk@44904 -
2014-05-04 11:10:27 +00:00
martin
e53e32b3c8 FpDebug: compile on win64
git-svn-id: trunk@44902 -
2014-05-03 15:00:16 +00:00
martin
6281c4adcf FpDebug: started DisplayFormat
git-svn-id: trunk@44896 -
2014-05-03 00:14:44 +00:00
martin
591043b078 GdbmiDebugger: added workaround for pchar vs string issue in dwarf 2
git-svn-id: trunk@44889 -
2014-05-02 13:14:44 +00:00
martin
aacb2aa6cf FpDebug: added operators +, - for float
git-svn-id: trunk@44884 -
2014-05-02 02:02:32 +00:00
martin
fc31f1a0c0 FpDebug: added operators =, <, >, <> for int/float
git-svn-id: trunk@44883 -
2014-05-02 01:44:33 +00:00
martin
2b8b09ffba FpDebug: fixed crash from prev commit
git-svn-id: trunk@44882 -
2014-05-02 01:01:24 +00:00
martin
a8caa85052 FpDebug: added nil,true,false
git-svn-id: trunk@44881 -
2014-05-02 00:53:39 +00:00
martin
e645bd4e95 FpDebug: added operators *, /, div for int/float
git-svn-id: trunk@44880 -
2014-05-02 00:13:10 +00:00
martin
f7c6916db6 FpDebug: added some error handling
git-svn-id: trunk@44865 -
2014-04-30 22:15:31 +00:00
joost
580048e97c FpDebug: Do not continue the process after an invalid command
git-svn-id: trunk@44863 -
2014-04-30 20:59:12 +00:00
joost
e7779bd476 LazDebuggerFp (pure): Implemented step-into
git-svn-id: trunk@44862 -
2014-04-30 20:44:22 +00:00
martin
1af2bd99a6 FpDebug: fix compile / range check for const
git-svn-id: trunk@44853 -
2014-04-30 13:18:53 +00:00
martin
15dd056207 FpGdbmiDebugger: add/sub int to/from pointer / tests
git-svn-id: trunk@44850 -
2014-04-30 12:42:54 +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
joost
36e6e3a257 LazDebuggerFp (pure): Implemented step-out
git-svn-id: trunk@44804 -
2014-04-24 16:06:50 +00:00
joost
056bfcfe4b LazDebuggerFp (pure): When stepping(over) out of a procedure, continue until a new sourceline has been reached.
git-svn-id: trunk@44799 -
2014-04-23 21:00:42 +00:00
joost
f677379864 FpDebug: Added step-over and next commands to console-example (fpd)
git-svn-id: trunk@44798 -
2014-04-23 19:55:05 +00:00
joost
48c19eb556 FpDebug: Fixed compilation of the example console-debugger on Windows
git-svn-id: trunk@44794 -
2014-04-23 18:37:34 +00:00
joost
0a5d5ee491 FpDebug: Re-wrote the example console-debugger to let it use the new TDbgcontroller
git-svn-id: trunk@44792 -
2014-04-23 08:53:41 +00:00
joost
577f7954bb LazDebuggerFp (pure): * Raise exception when Stop is called on a non-existing process
* Solved some problems wih logging

git-svn-id: trunk@44791 -
2014-04-23 07:49:12 +00:00
joost
a8ea2fde98 LazDebuggerFp (pure): Use the ProcessID to detect if a process is finished, because the Handle is not used on OS/X
git-svn-id: trunk@44790 -
2014-04-23 07:21:22 +00:00
joost
fc35f675bc LazDebuggerFp (pure): Resolved problems with freeing breakpoints after the debuggee has ended.
git-svn-id: trunk@44771 -
2014-04-20 19:39:35 +00:00
joost
87bfbf6372 LazDebuggerFp (pure): Removed unused FBreakList
git-svn-id: trunk@44770 -
2014-04-20 17:59:44 +00:00
joost
e1881c3f4c LazDebuggerFp (pure): Implemented RunTo
git-svn-id: trunk@44768 -
2014-04-20 11:00:33 +00:00
joost
a69e382e98 LazDebuggerFp (pure): Ability to pause debuggee (Windows)
git-svn-id: trunk@44749 -
2014-04-16 20:19:13 +00:00
joost
86f9de7b2a LazDebuggerFp (pure):
* When a breakpoint is hit, pass the correct breakpoint to the TFpDebugDebugger.
 * Solve an AV when the IDE exits

git-svn-id: trunk@44743 -
2014-04-16 09:15:10 +00:00
joost
a52defb4e1 LazDebuggerFp (pure): Ability to add/delete/enable/disable breakpoints when the debuggee is not running or paused.
git-svn-id: trunk@44741 -
2014-04-16 08:05:58 +00:00
joost
acecc4a260 LazDebuggerFp (pure): Implemented step-over (next)
git-svn-id: trunk@44737 -
2014-04-15 19:22:01 +00:00
joost
22b80b3cf5 LazDebuggerFp (pure): StepIntoStr -> StepIntoInstr
git-svn-id: trunk@44728 -
2014-04-14 16:59:05 +00:00
joost
96991a9a84 FpDebug: Fixed compilation with range-checking on
git-svn-id: trunk@44727 -
2014-04-14 16:46:03 +00:00
joost
ae35141581 LazDebuggerFp (pure): Implemented StepOverInstr
git-svn-id: trunk@44725 -
2014-04-14 16:39:35 +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
joost
8f5701ed19 LazDebuggerFp (pure): Hide software breakpoints (int3) on reading data
git-svn-id: trunk@44704 -
2014-04-12 16:24:46 +00:00
joost
0e62389d08 LazDebuggerFp (pure): Fixed single-stepping which was broken since r44690 #14698396ff
git-svn-id: trunk@44703 -
2014-04-12 16:19:20 +00:00
joost
14698396ff LazDebuggerFp (pure): Fixed AV on Windows
git-svn-id: trunk@44690 -
2014-04-11 21:13:20 +00:00
joost
c7e539dc46 LazDebuggerFp (pure): Added reading of register support to TDbgMemReader.
git-svn-id: trunk@44689 -
2014-04-11 21:10:34 +00:00
joost
98f4a08663 LazDebuggerFp (pure): Fixed single-stepping on OS/X
git-svn-id: trunk@44685 -
2014-04-11 20:06:36 +00:00
joost
dbbdddb97a LazDebuggerFp (pure): Fix for compilation on newer fpc-versions, where TProcess.OnForEvent is a method
git-svn-id: trunk@44684 -
2014-04-11 19:54:11 +00:00
joost
982b409e26 LazDebuggerFp (pure): Fixed information in debugline
git-svn-id: trunk@44683 -
2014-04-11 19:42:55 +00:00
joost
d521103501 LazDebuggerFp (pure): Return the correct value of the instruction-pointer after a breakpoint has been reached. (Windows)
git-svn-id: trunk@44675 -
2014-04-11 09:34:49 +00:00
joost
79d49417bd LazDebuggerFp (pure): If a breapoint is reached by single-stepping, handle the breakpoint properly.
git-svn-id: trunk@44674 -
2014-04-11 09:27:25 +00:00
joost
67f3dec675 LazDebuggerFp (pure): Removed obsolete TFPDState
git-svn-id: trunk@44673 -
2014-04-11 09:25:29 +00:00
joost
52282ede03 LazDebuggerFp (pure): Implemented single-stepping (assembly level) and resetting of a breakpoint after it has been hit. (Windows)
git-svn-id: trunk@44670 -
2014-04-10 20:11:41 +00:00
joost
499c7ed593 LazDebuggerFp (pure): Show register-values on OS/X
git-svn-id: trunk@44658 -
2014-04-09 08:25:46 +00:00
joost
e2c993ce95 LazDebuggerFp (pure): Recognition of breakpoints on Windows. Silently ignore unknown breakpoints, if possible.
git-svn-id: trunk@44657 -
2014-04-08 22:11:09 +00:00
martin
244cdad9cd FpDebug: nil after free
git-svn-id: trunk@44648 -
2014-04-08 14:46:50 +00:00
martin
15754fca9a LazDebuggerFp (pure): add line info
git-svn-id: trunk@44646 -
2014-04-08 13:35:38 +00:00
martin
b0e9f959f6 FpDebug: deal with parentfp for nested procs
git-svn-id: trunk@44642 -
2014-04-07 20:33:20 +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
3937a88b0f LazDebuggerFp (pure): do not crash range check
git-svn-id: trunk@44636 -
2014-04-07 16:57:59 +00:00
martin
f3e4622b30 LazDebuggerFp (pure): do not crash with -gtt
git-svn-id: trunk@44634 -
2014-04-07 16:49:40 +00:00
joost
ae8c35b16e FpDebug: Removed old, invalid assertion whose meaning is lost in time...
git-svn-id: trunk@44633 -
2014-04-07 16:40:09 +00:00
joost
813e158c7d FpDebug: Fixed compilation after recent changes and with fpc 2.6.2
git-svn-id: trunk@44632 -
2014-04-07 16:34:55 +00:00
joost
2a7b0ee37e FpDebug:
* Implemented basic TFpDbgMemReader. It handles reading memory, reading register values is still not implemented
 * Implemented very basic evaluation of watches.

git-svn-id: trunk@44630 -
2014-04-07 09:23:40 +00:00
martin
03d6bdade7 FpDebug: prepare mem-manager for context
git-svn-id: trunk@44627 -
2014-04-07 00:26:04 +00:00
joost
0eaa8042c5 FpDebug: Basic support for getting register-values.
git-svn-id: trunk@44626 -
2014-04-06 19:13:38 +00:00
martin
5df27a9624 FpDebug: renamed dwarf classes, more unified names
git-svn-id: trunk@44624 -
2014-04-06 16:27:37 +00:00
joost
1c21a9a593 FpDebug: REmoved unused BaseAddr and StartAdd for threads.
git-svn-id: trunk@44622 -
2014-04-06 14:52:28 +00:00
joost
aed7174382 FpDebug: Make sure the result of function ResolveDebugEvent is always set
git-svn-id: trunk@44621 -
2014-04-06 14:41:30 +00:00
joost
047b2b57e5 FpDebug: Replaced several writeln's with DebugLn's, since WriteLn does not work well on Windows GUI-applications. This messes up the output of console-debuggers, but that needs some re-modeling anyway.
git-svn-id: trunk@44620 -
2014-04-06 14:30:04 +00:00
joost
0341bfb4de FpDebug: Don not pause debugging after a library has been loaded
git-svn-id: trunk@44618 -
2014-04-06 13:41:27 +00:00
martin
be059632cf LazDebuggerFp (pure): renamed package / moved location
git-svn-id: trunk@44614 -
2014-04-05 23:22:56 +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
joost
3f25b41d11 * Fixed compilation for non-Windows systems
git-svn-id: trunk@44607 -
2014-04-05 09:55:42 +00:00
joost
d50b62d2dc FpDebug:
* Added TDbgController class to FpDebug to make it easiear
   to implement a debugger. 
 * Added the package LazFpDebug, which registers a new
   debugger into the IDE that uses FpDebug to debug applications. 

git-svn-id: trunk@44606 -
2014-04-05 08:07:24 +00:00
joost
e6983321d8 * Reset a breakpoint after hitting it
git-svn-id: trunk@44605 -
2014-04-04 20:17:17 +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
8399441f33 FpDebug: restructure dwarf classes, preparation for adding fpc specific subclasses
git-svn-id: trunk@44599 -
2014-04-03 23:24:43 +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
joost
e9f865d7b8 FpDebug: Fix compilation after r44595 #ab2522e911
git-svn-id: trunk@44596 -
2014-04-03 19:19:07 +00:00
joost
ab2522e911 FpDebug: Make sure that all signals of a process are handled after the process has been terminated. That to avoid mixing these signals with signals of other processes
git-svn-id: trunk@44595 -
2014-04-03 19:17:01 +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
3f4da57059 FpDebug: fix ErrorHandler
git-svn-id: trunk@44580 -
2014-04-01 15:05:33 +00:00
martin
acbf9eea68 FpDebug: fix read address from mem
git-svn-id: trunk@44579 -
2014-04-01 13:09:27 +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
91ae0e64c5 FpDebug: compile on win64
git-svn-id: trunk@44570 -
2014-03-31 22:14:28 +00:00
martin
a764f07fe4 FpDebug: fix endless recursion
git-svn-id: trunk@44567 -
2014-03-31 21:26:03 +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
joost
6a13624f76 * Use TProcess to start debuggee, since it handles stuff like stdin/out, environment variables and such
* Ability to kill debuggee
 * Resolve location of dSym bundle of application-bundles properly

git-svn-id: trunk@44560 -
2014-03-30 20:28:32 +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
joost
89248a3340 * Add ability to debug OS/X application-folders
git-svn-id: trunk@44552 -
2014-03-29 19:42:36 +00:00
joost
2cb000b1be * Added OnLog event to be able to log to something else then stdout
git-svn-id: trunk@44551 -
2014-03-29 19:27:11 +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
joost
3f36dd3c53 FpDbg: Implemented single-stepping on Darwin
git-svn-id: trunk@44500 -
2014-03-23 20:54:32 +00:00
martin
95834abad6 FpDebug: Spelling
git-svn-id: trunk@44496 -
2014-03-23 15:35:37 +00:00
joost
fa16dcdf52 FpDbg: Use dSYM bundle on Darwin to read Dwarf debug-info for executable
git-svn-id: trunk@44495 -
2014-03-23 15:05:31 +00:00
joost
d43aefb1a6 FpDbg: Fixed AV when the debugged application has been terminated
git-svn-id: trunk@44494 -
2014-03-23 14:07:28 +00:00
joost
203ab1fcd3 FpDbg: Show message when a breakpoint has been reached
git-svn-id: trunk@44493 -
2014-03-23 14:03:29 +00:00
joost
327140d6b8 FpDbg: Disasemble on non-Windows systems
git-svn-id: trunk@44492 -
2014-03-23 13:49:11 +00:00
joost
4613232478 FpDbg: Fixed problem with uninitialized variable
git-svn-id: trunk@44491 -
2014-03-23 13:41:15 +00:00
joost
434c770d67 FpDbg: Show correct value of eip after hitting a breakpoint
git-svn-id: trunk@44450 -
2014-03-16 22:11:19 +00:00
joost
042680da83 FpDbg: Basic breakpoint-handling on Darwin
git-svn-id: trunk@44448 -
2014-03-16 21:24:27 +00:00
martin
c1846572a1 FPDebug: mem leak
git-svn-id: trunk@44447 -
2014-03-16 18:42:28 +00:00
joost
c8e074d4ef FpDbg: Refactored handling of breakpoints, so that parts of the code could be used too on other platforms then Windows
FpDbg: Set the FMainThread variable after the main-thread is created, not before. This fixes the handling of breakpoints.

git-svn-id: trunk@44445 -
2014-03-16 12:50:45 +00:00
joost
3c32f95e8f FpDbg: Removed unused unit from uses-section.
git-svn-id: trunk@44444 -
2014-03-16 12:45:20 +00:00
joost
935b4665cc FpDbg: Use generic way to get value of instruction pointer register
git-svn-id: trunk@44443 -
2014-03-16 11:26:47 +00:00
joost
459a825fc2 FpDbg: Read register-information on Darwin
git-svn-id: trunk@44442 -
2014-03-16 11:24:51 +00:00
joost
46c815a029 FpDbg: Added basic writememory command
git-svn-id: trunk@44441 -
2014-03-16 10:52:52 +00:00
joost
3ba842927f FpDbg: Show proper process- and thread-id on application start.
git-svn-id: trunk@44440 -
2014-03-16 10:46:10 +00:00
joost
5363754ee0 FpDbg: Missing part of r44438 #618ce88805.
git-svn-id: trunk@44439 -
2014-03-16 10:43:30 +00:00
joost
618ce88805 FpDbg: Placed some Windows-specific code between ifdef's to fix compilation on non-Windows systems.
git-svn-id: trunk@44438 -
2014-03-16 10:35:38 +00:00
joost
6974915b8b FpDbg: Moved Windows-specific code to terminate the process to fpdbgwinclasses.pas
git-svn-id: trunk@44437 -
2014-03-16 10:33:04 +00:00
joost
eba8717294 * Moved Windows-specific code to read the instruction-pointer and base stack pointer register values to fpdbgwinclasses.pas
git-svn-id: trunk@44436 -
2014-03-16 10:18:06 +00:00
joost
e417930ab0 FpDbg: Removed unused windows from uses to fix compilation on non--Windows.
git-svn-id: trunk@44425 -
2014-03-13 21:42:27 +00:00
joost
ade43d3625 FpDbg: Removed unused windows from uses and added some units to fix compilation on Windows.
git-svn-id: trunk@44424 -
2014-03-13 21:34:27 +00:00
joost
c20f74439d * Implemented basic debug-support for Darwin
git-svn-id: trunk@44413 -
2014-03-12 21:35:06 +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
joost
607af213ac FpDbg: Refactored code to get module-name, to avoid double code for processes and libraries.
git-svn-id: trunk@44387 -
2014-03-09 12:00:55 +00:00
joost
2947aab047 FpDbg: Fixed compilation by adding FpdMemoryTools to uses
git-svn-id: trunk@44386 -
2014-03-09 11:07:52 +00:00
joost
4b3ae8e4bd * Moved more Windows-specific code from fpdloop to fpdbgwinclasses.
git-svn-id: trunk@44385 -
2014-03-09 10:22:34 +00:00
joost
d8b00dc8d0 * Fixed an exception on writing a message that setting a breakpoint failed.
git-svn-id: trunk@44384 -
2014-03-09 10:01:32 +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
joost
84c8a874db * Fixed compilation on non-Windows operation systems
git-svn-id: trunk@44350 -
2014-03-05 10:53:07 +00:00
joost
1d789ef144 * Re factorization to move windows-specific code from fpdcommand.pas to fpdbgwinclasses.pas
git-svn-id: trunk@44349 -
2014-03-05 10:13:31 +00:00
martin
483139f4fb FPDebug: refactor, renamed some classes
git-svn-id: trunk@44330 -
2014-03-02 21:58:15 +00:00
zeljko
7767d83380 fpdebug: make fpdebug compileable for non mswindows targets.
git-svn-id: trunk@44314 -
2014-03-02 10:17:52 +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
fd8f2c1da7 FPDebug: mem leak
git-svn-id: trunk@44270 -
2014-02-26 22:40:55 +00:00
joost
f35783bdf0 * Removed now unused windows-unit from uses section
git-svn-id: trunk@44241 -
2014-02-26 07:43:02 +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
1cedbd7c7f FPDebug: starting plus minus operator
git-svn-id: trunk@44238 -
2014-02-25 15:02:04 +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
joost
1bdd42363f * Moved Windows-specific GCurrentContext to fpdbgwinextra
git-svn-id: trunk@44215 -
2014-02-23 20:44:57 +00:00
martin
799ade039d FPDebug: clean up / fix array len
git-svn-id: trunk@44209 -
2014-02-23 00:49:05 +00:00
martin
da31678f3b FPDebug: starting error msgs
git-svn-id: trunk@44196 -
2014-02-21 07:52:15 +00:00
martin
499e59ec52 FPDebug: starting arrays
git-svn-id: trunk@44187 -
2014-02-21 00:18:53 +00:00