Commit Graph

1040 Commits

Author SHA1 Message Date
martin
840b55b4a8 FpDebug: Fix step out, if current is in prologue / IsSteppedOut did not catch as BasePointer was still on outer proc.
git-svn-id: trunk@63031 -
2020-04-20 12:55:12 +00:00
juha
651a6436a2 Support Haiku build. Makefiles are generated from Makefile.fpc files using proper tools. Issue #36316, patch from Alfred.
git-svn-id: trunk@62890 -
2020-04-05 11:35:01 +00:00
martin
1f69cf465e FpDebug: fix typecast/deref for generated-pointer-type "^Foo($1234)", for signed values.
git-svn-id: trunk@62810 -
2020-03-25 15:51:07 +00:00
mattias
a472e9ef09 buildintf: split from ideintf
git-svn-id: trunk@62795 -
2020-03-22 11:58:11 +00:00
martin
57dc078ec5 FpDebug: fix compile on Mac
git-svn-id: trunk@62771 -
2020-03-17 12:42:13 +00:00
martin
8d0043c4c3 FpDebug: fix compile on Mac
git-svn-id: trunk@62765 -
2020-03-13 17:50:04 +00:00
martin
8ac43cbd8d Change PtrUInt to TDbgPtr to be consistent with FpDbgClasses unit
git-svn-id: trunk@62759 -
2020-03-12 20:00:13 +00:00
martin
93ee5eb352 Detect socket closed or other error and set status to SIGHUP. Do not access FConnection methods that read or write to socket when status = SIGHUP.
Patch/Contributed by ccrause

git-svn-id: trunk@62758 -
2020-03-12 14:21:18 +00:00
martin
62facbb44d Renamed TDbgDisassembler class and all related classes to avoid name clashes with FpDebugDebugger classes.
Patch/Contributed by ccrause

git-svn-id: trunk@62757 -
2020-03-12 14:21:17 +00:00
martin
9df6eea67a Enable/IFDEF reverse disassembling for X86 to test concept. Base algorith not great for X86 variable length encoding
Patch/Contributed by ccrause

git-svn-id: trunk@62755 -
2020-03-12 14:21:13 +00:00
martin
121b9389ee Naive implementation of reverse disassembling
Patch/Contributed by ccrause

git-svn-id: trunk@62754 -
2020-03-12 14:21:12 +00:00
martin
6d6903e246 Introduce minimum and maximum instruction size properties to TDbgDisassembler. This is useful for buffering calculations, also in reverse disassembling. Preread required memory before disassembling to reduce impact of remote target access
Patch/Contributed by ccrause

git-svn-id: trunk@62753 -
2020-03-12 14:21:10 +00:00
martin
b014fcdeeb Let the TProcess call decide, if calls must be made in the correct thread (debugger-thread). Linux/trace only allows the dbg thread access.
git-svn-id: trunk@62752 -
2020-03-12 14:21:08 +00:00
martin
0aed1400c1 Added FpDbgAvrClasses to uses list so that AVR debugging is available in fpd
Patch/Contributed by ccrause

git-svn-id: trunk@62751 -
2020-03-12 14:21:07 +00:00
martin
7940dbf1b5 Basic AVR functionality
Patch/Contributed by ccrause

git-svn-id: trunk@62750 -
2020-03-12 14:21:05 +00:00
martin
8877a5b195 Change Insert/RemoveBreakInstructionCode to virtual because this implementation refers to target specific functionality (int3)
Patch/Contributed by ccrause

git-svn-id: trunk@62749 -
2020-03-12 14:20:34 +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
2e1bd02f2d FpDebug: Refactor OsDbgClasses => move as field to DbgController and DbgProcess / Prepare for target specific classes
git-svn-id: trunk@62747 -
2020-03-12 14:09:16 +00:00
martin
676c17f1cf FpDebug: Refactor disassembler into class
git-svn-id: trunk@62746 -
2020-03-12 14:09:14 +00:00
juha
d9daa6776b FpDebug: Prevent an access violation in TDbgImageLoader constructor. Issue #36763.
git-svn-id: trunk@62700 -
2020-03-06 20:09:47 +00:00
martin
e1a09a86f4 FpDebug: fix checking for ImageBase (currently not implemented). Issue #0036499
git-svn-id: trunk@62512 -
2020-01-08 16:56:19 +00:00
martin
439be6f619 FpDebug: Linux, removed assert. Condition can occur when process terminates, as threads have not been restarted
git-svn-id: trunk@62496 -
2020-01-04 19:44:02 +00:00
martin
2282f707cf FpDebug: Fix Command.DoContinue. Do not read DbgThread.GetInstrPtr if the event is caused by another thread. On Linux the none-event thread (belonging to the command) may not be paused/readable.
git-svn-id: trunk@62492 -
2020-01-04 19:02:04 +00:00
martin
6739277749 Revert "FpDebug: Windows, remove unused code" / WinProcess.Interrupt is used by app/fpd
git-svn-id: trunk@62489 -
2020-01-04 15:00:40 +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
54bbd61a23 Updated project file information. Patch by ccrause
git-svn-id: trunk@62487 -
2020-01-04 15:00:36 +00:00
martin
16a4757fa3 Fixed fpd memory leak caused by dangling TFpDbgMemConvertorLittleEndian.Create instance. Patch by ccrause
git-svn-id: trunk@62485 -
2020-01-04 03:56:59 +00:00
martin
365888b1de Fix fpd memory leak in TBreakPointIdMap. Patch by ccrause
git-svn-id: trunk@62484 -
2020-01-04 03:56:58 +00:00
martin
4e918eebdd Updated macho.pas from compiler folder. Needed the CPU_TYPE_ constants to identify target information. Patch by ccrause
git-svn-id: trunk@62483 -
2020-01-04 03:56:56 +00:00
martin
61e8a903ce FpDebug: FpdCommand, moved "uses fgl" outside ifdef
git-svn-id: trunk@62482 -
2020-01-04 03:36:22 +00:00
martin
98aa637a42 FpDebug: debugln
git-svn-id: trunk@62406 -
2019-12-16 23:22:53 +00:00
martin
9a11939004 FpDebug: Fix range check (addresses in target are allowed to overflow)
git-svn-id: trunk@62386 -
2019-12-14 15:56:26 +00:00
martin
e3313cf793 FpDebug: Version to 0.9
git-svn-id: trunk@62347 -
2019-12-08 02:37:18 +00:00
martin
a2a811c87c FpDebug: debugln
git-svn-id: trunk@62345 -
2019-12-08 00:18:18 +00:00
martin
489625b121 FpDebug, LazDebuggerFp: Implement step to except/finally / step over ignored exception
git-svn-id: trunk@62344 -
2019-12-08 00:18:17 +00:00
martin
c1611124b4 FpDebug: Added methods to add disabled breakpoints, and modify existing
git-svn-id: trunk@62343 -
2019-12-08 00:18:15 +00:00
martin
66a5571620 FpDebug: Clean/Remove the duplicate Finished/Handled on TDbgControllerCmd
git-svn-id: trunk@62342 -
2019-12-08 00:18:13 +00:00
martin
42eb28852f FpDebug: Win, Fix dropping last char of dll names.
git-svn-id: trunk@62341 -
2019-12-08 00:18:12 +00:00
martin
b34bc4a730 FpDebug, LazDebuggerFp: Implemented OnLibrary(Un)LoadedEvent / Show in event log
git-svn-id: trunk@62340 -
2019-12-08 00:18:10 +00:00
martin
9cd1e928d5 FpDebug, LazDebuggerFp: Use FindProc instead of FindContext to get SymbolInfo entries
git-svn-id: trunk@62339 -
2019-12-08 00:18:09 +00:00
martin
cc3e23afb0 FpDebug: Win, Parse DLL-Entry points
git-svn-id: trunk@62338 -
2019-12-08 00:18:07 +00:00
martin
2dd36b3cd8 FpDebug: FPC sets some lines to line-num=0 => map them to the next avail line. This will at least be somewhere around the correct location.
git-svn-id: trunk@62337 -
2019-12-08 00:18:05 +00:00
martin
f64a5f7d3b FpDebug: Rewrite of Step-In/Over/Out. Now handle (end-)stepping after leaving current procedure (i.e step to the outer line end, according to "In" or "Over")
git-svn-id: trunk@62336 -
2019-12-08 00:18:03 +00:00
martin
afd4dead10 FpDebug: Fix LineInfo, EndSequence was not handled, and some addresses resulted in wrong lines (even in the wrong procedure)
git-svn-id: trunk@62335 -
2019-12-08 00:18:01 +00:00
martin
d506a29b8c FpDebug: Fix a potential double-free
git-svn-id: trunk@62320 -
2019-12-03 19:40:41 +00:00
martin
98cc84231b FpDebug: Fix a crash / endless recursion, if a symbol (watch) is not found while in a finally block.
git-svn-id: trunk@62309 -
2019-11-28 02:30:01 +00:00
martin
3cd2c19fc8 FpDebug: more fixes for Disassembler, broken in r62171 #a4e3cbb35e
git-svn-id: trunk@62303 -
2019-11-27 01:52:39 +00:00
martin
9be880c527 FpDebug: fix Disassembler, broken in r62171 #a4e3cbb35e
git-svn-id: trunk@62291 -
2019-11-24 13:57:44 +00:00
martin
764dae935a FpDebug: Fix leak on Linux / Thread objects were not always released
git-svn-id: trunk@62176 -
2019-11-03 17:05:42 +00:00
martin
17dda63638 FpDebug: Refactor freeing thread objects for exited threads
git-svn-id: trunk@62175 -
2019-11-03 17:05:40 +00:00
martin
751d6dd60d FpDebug: Start basic detection of frame-base
git-svn-id: trunk@62174 -
2019-11-03 17:05: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
a4e3cbb35e FpDebug: refactor dis-asm / Split internal (enum) and text dis-asm / optimize call detection
git-svn-id: trunk@62171 -
2019-11-03 17:05:33 +00:00
martin
2cebe95d18 FpDebug: refactor dis-asm / Disassemble to enum-opcode
git-svn-id: trunk@62170 -
2019-11-03 17:05:31 +00:00
martin
e5692c88e3 FpDebug: ensure any StackFrame data is cleared on run. (fix displaying old stacktraces)
git-svn-id: trunk@62139 -
2019-10-28 17:07:06 +00:00
martin
1739434138 FpDebug: fix range check error in FindProcSymbol. (int64 vs qword).
git-svn-id: trunk@62138 -
2019-10-28 17:07:04 +00:00
martin
f955aac408 Fix compile / issue #0036204
git-svn-id: trunk@62112 -
2019-10-24 20:22:45 +00:00
mattias
d0e20a7e06 fpdebug: clean up
git-svn-id: trunk@62108 -
2019-10-22 15:10:12 +00:00
martin
23a034b033 FpDebug: Change/Fix shortstring detection after array stride fix in fpc. (change by Issue #0036144 )
git-svn-id: trunk@62048 -
2019-10-13 12:25:42 +00:00
martin
b11f360499 FpDebug: limit array stride workaround to fpc < 3.3 / Fix stride calculations
git-svn-id: trunk@62047 -
2019-10-13 12:25:40 +00:00
martin
765c460114 FpDebug: small change to array address error checks
git-svn-id: trunk@62046 -
2019-10-13 12:25:39 +00:00
martin
22aca35233 FpDebug: Use LastError from value object.
git-svn-id: trunk@62045 -
2019-10-13 12:25:37 +00:00
martin
fc63e31186 FpDebug: Prevent a stack overflow, recursive display of record in record constructor "TFoo.Create(a: TFoo)". Outer "AFlags" were hidden, preventing the recursion from being detected
git-svn-id: trunk@62037 -
2019-10-11 12:07:24 +00:00
martin
ec3e5b6a07 FpDebug: fix crash on nil-deref.
- On Windows FCurrentThread is nil during the ExitProcess event.
- On all platforms CreateThread can (in theory) return nil.

git-svn-id: trunk@62034 -
2019-10-11 12:07:19 +00:00
martin
ec207608a5 FpDebug: Windows, when terminating the process (stop debugger) collect all pending events.
git-svn-id: trunk@62033 -
2019-10-11 12:07:17 +00:00
martin
c1cec4c5d9 FpDebug: Add operators mod, and, or, xor
git-svn-id: trunk@62028 -
2019-10-10 21:30:20 +00:00
martin
29fa84ca54 FpDebug: Pascal Expression Parser, add constant ansistring. Add operator to compare/concatenate strings
git-svn-id: trunk@62026 -
2019-10-10 21:30:16 +00:00
martin
61e152cc7d FpDebug: accept PChar(nil) as string
git-svn-id: trunk@62025 -
2019-10-10 21:30:14 +00:00
martin
cd76eb1ef2 FpDebug: Improve wide/utf8 string/char handling
git-svn-id: trunk@62021 -
2019-10-10 12:19:40 +00:00
martin
3374d667aa FpDebug: Fix overload compile error with fpc 3.2 / DestSize can not exceed the int64 range
git-svn-id: trunk@62019 -
2019-10-10 11:06:47 +00:00
martin
6fb009a232 FpDebug: Fix calculating length of open array param
git-svn-id: trunk@62018 -
2019-10-10 01:01:43 +00:00
martin
9bdf6eb943 FpDebug: Tests for TFpDbgValueSize operators
git-svn-id: trunk@62015 -
2019-10-09 20:06:26 +00:00
martin
9997f386ba FpDebug: bitpacked array. workaround for issue #36144
git-svn-id: trunk@62013 -
2019-10-09 20:06:22 +00:00
martin
cbe21ff4f3 FpDebug: implement watching bitpacked array/record
git-svn-id: trunk@62012 -
2019-10-09 20:06:21 +00:00
martin
f96c6b9f66 FpDebug: Fix "set of (10..20)" (subrange)
git-svn-id: trunk@62011 -
2019-10-09 20:06:18 +00:00
martin
8b2fa08f3c FpDebug: More fixes to compile for Mac
git-svn-id: trunk@62009 -
2019-10-08 22:50:23 +00:00
martin
4b627656b1 FpDebug: Fix compile for Mac / removed 2 left over declarations / error introduced in watchpoint work
git-svn-id: trunk@62007 -
2019-10-08 18:18:10 +00:00
martin
5ff6c5c0c1 FpDebug: Partial implement WatchPoints.
- No local watches yet. Always global scope.
- Break on Write is the same Read/Write
- Info pop up has no old/new value
- No feedback (in some cases) if watch failed to set

git-svn-id: trunk@61990 -
2019-10-05 11:09:49 +00:00
martin
4020102b98 FpDebug: Refactor Step-Into. No longer use watchpoints.
git-svn-id: trunk@61989 -
2019-10-05 11:09:47 +00:00
martin
a631e91e53 FpDebug: rename TFpInternalBreakpointBase into TFpDbgBreakpoint / Make other packages use TFpDbgBreakpoint instead of internal class.
git-svn-id: trunk@61987 -
2019-10-05 11:09:44 +00:00
martin
9b5b0c8db2 FpDebug: Check stackframe for FindContext in range / out of index
git-svn-id: trunk@61985 -
2019-10-05 11:09:40 +00:00
martin
1097debc48 FpDebug: fix crash when evaluating enum "member". (The identifier representing one of the values of the enum)
git-svn-id: trunk@61969 -
2019-10-03 18:38:13 +00:00
martin
fa44aa0f0b LazDebuggerFp, FpDebug: Refactor FindContext
git-svn-id: trunk@61968 -
2019-10-03 18:38:11 +00:00
martin
3e1d403bae LazDebuggerFp, FpDebug: Attach and Detach (Windows/Linux)
Attach on Linux does not work for apps started with "run without debugging". (Maybe/Probably because the IDE does a separate waitpid on those, and interferes with the waitpid of the debugger?)

git-svn-id: trunk@61967 -
2019-10-03 18:38:10 +00:00
martin
69d200ec8d FpDebug: check if running before scheduling a pause signal (needed so pause can be called when ProcessLoop is not running / but also checks if the loop does a lot of deInternalContinue
git-svn-id: trunk@61966 -
2019-10-03 18:38:08 +00:00
martin
6591981f5f FpDebug: Fix leak introduced in r61951 #cc3a453334 / missing deref for ValueObject in Locals eval
git-svn-id: trunk@61957 -
2019-10-02 11:48:28 +00:00
martin
aa60af3f9e FpDebug: Remove circular refs
git-svn-id: trunk@61953 -
2019-09-29 21:43:54 +00:00
martin
ab5154ae18 FpDebug: Move type related code from TFpSymbolDwarfDataProc to TFpSymbolDwarfTypeProc.
git-svn-id: trunk@61952 -
2019-09-29 21:43:53 +00:00
martin
cc3a453334 FpDebug: Remove circular cache for ValueObject.
git-svn-id: trunk@61951 -
2019-09-29 21:43:51 +00:00
martin
495c172050 FpDebug: Remove LastMember for structures (part of circle ref with StructureValue)
git-svn-id: trunk@61950 -
2019-09-29 21:43:49 +00:00
martin
ef00bc4391 FpDebug: PascalBuilder, re-use existing procedure info.
git-svn-id: trunk@61941 -
2019-09-28 19:08:21 +00:00
martin
6dbfb412aa FpDebug: Remove circular ref handling for LocalProcInfo (no longer circular)
git-svn-id: trunk@61940 -
2019-09-28 19:08:19 +00:00
martin
b67765f419 FpDebug: Move cache for SelfParam to Context / remove circular ref for LocalProc.
git-svn-id: trunk@61939 -
2019-09-28 19:08:18 +00:00
martin
df73d42186 FpDebug: Remove duplicate ApplyContext calls
git-svn-id: trunk@61938 -
2019-09-28 19:08:16 +00:00
martin
82f84c23c4 FpDebug: Remove FlastResult from FindSymbol
git-svn-id: trunk@61937 -
2019-09-28 19:08:15 +00:00
martin
2ec08f8a9c FpDebug: rename TDbgInfo.FindSympol into FindProcSymbol
git-svn-id: trunk@61936 -
2019-09-28 19:08:13 +00:00
martin
c7ccbdc276 FpDebug: Change ParentTypeInfo to only hold the structure/array/enum to which the value belongs. Also move it to TFpValue to make it circle-ref free.
Introduce LocalProcInfo for the "local procedure" (if any) to which the symbol belongs.

git-svn-id: trunk@61935 -
2019-09-28 19:08:11 +00:00
martin
0b2536f3f0 FpDebug: Merge StructTypeCast.GetMember... to parent class methods
git-svn-id: trunk@61934 -
2019-09-28 19:08:09 +00:00
martin
320accefd9 FpDebug: allow SetLastError( no-error )
git-svn-id: trunk@61933 -
2019-09-28 19:08:07 +00:00
martin
436265bf70 FpDebug: Remove unused member list
git-svn-id: trunk@61932 -
2019-09-28 19:08:06 +00:00
martin
2ee62a6a50 FpDebug: Remove TypeCastTargetType, use DwarfTypeSymbol (former Owner) which now includes all outer (un-nested) types
git-svn-id: trunk@61925 -
2019-09-26 16:37:26 +00:00
martin
ca3bcf9fa2 FpDebug: Clean up. Remove ValueSymbol => same as DbgSymbol
git-svn-id: trunk@61924 -
2019-09-26 16:37:25 +00:00
martin
9c280bd0e3 FpDebug: Refactor TFpSymbol.Size
git-svn-id: trunk@61923 -
2019-09-26 16:37:22 +00:00
martin
d7a8a70916 FpDebug: Make Pointer deref work without item size. (In case size is not avail, or too big)
git-svn-id: trunk@61920 -
2019-09-24 23:36:40 +00:00
martin
9b5a4935a0 FpDebug: fix wrong type for bound-symbol fields / Enable TypedAddress
git-svn-id: trunk@61918 -
2019-09-24 23:36:37 +00:00
martin
544b5e616b FpDebug: rename var
git-svn-id: trunk@61917 -
2019-09-24 23:36:35 +00:00
martin
4f54cfa13b FpDebug: clean up a few occasions where FContext is set twice
git-svn-id: trunk@61916 -
2019-09-24 23:36:34 +00:00
martin
f37ef11330 FpDebug: Remove HasBounds (which did not have a ValueObject). Make SubRanges check for their own size too.
git-svn-id: trunk@61915 -
2019-09-24 23:36:32 +00:00
martin
1e7c605983 FpDebug: more verbose last error
git-svn-id: trunk@61914 -
2019-09-24 23:36:30 +00:00
martin
ea3dfb1fa9 FpDebug: Improve detection of class vs record vs object
git-svn-id: trunk@61903 -
2019-09-19 17:29:17 +00:00
martin
f9d28f268b FpDebug: 64bit debugger exe does not have a 10bit Extended (as in 32bit exe). Cross debugger can therefore not display such values. Return an error.
git-svn-id: trunk@61902 -
2019-09-19 13:08:44 +00:00
martin
e2590a7c19 FpDebug: Ensure that the Context is passed on to new Value-objects. Fix crash on nil pointer
git-svn-id: trunk@61900 -
2019-09-18 22:14:02 +00:00
martin
804b5a7be4 FpDebug: Windows, fix closing handles for sub-processes (not currently debugged). Also correctly detach.
git-svn-id: trunk@61892 -
2019-09-16 21:49:27 +00:00
martin
4137324e48 FpDebug: Check result of ReadThreadState. Do not use invalid data (on windows this lead to nil deref crash)
git-svn-id: trunk@61891 -
2019-09-16 21:49:25 +00:00
martin
52a25d352c FpDebug: move ...Command.Init into the thread. In case it needs to access process data.
git-svn-id: trunk@61883 -
2019-09-15 13:22:01 +00:00
martin
618ad4ba32 FpDebug: Fix stepping over an breakpoint that continues (condition/auto-continue/...) / Fix stepping over recursive calls
git-svn-id: trunk@61882 -
2019-09-15 13:22:00 +00:00
martin
533670667b FpDebug: Stepping commands, refactor (partly) detection of "call" instruction.
git-svn-id: trunk@61881 -
2019-09-14 14:33:10 +00:00
martin
48f15f849d FpDebug: Stepping commands, refactor HiddenBreakpoint:
- Move to base-class
- No need to check for other breakpoints (fpdebug can now handle several brk at same address)
- Stop step-out, if break failed to set

git-svn-id: trunk@61880 -
2019-09-14 14:33:09 +00:00
martin
c5fe550fbe FpDebug: Stepping commands, set Handled = Finished => so the loop will end if a step is done
git-svn-id: trunk@61878 -
2019-09-14 14:27:48 +00:00
martin
cc1055fbed FpDebug: Windows, fix stepping over (temp-removed) breakpoint.
- If another thread received a signal before the "step-finished signal" (e.g. thread created / pending sigs) then the temp-break was back in place and kept in place -> the break was hit again instead of stepping over it.
- If another thread exited (and the exit signal was received before the "step-finished signal" then no handling was done at all (no threads suspended / no temp remove breaks)

git-svn-id: trunk@61877 -
2019-09-14 14:27:47 +00:00
martin
fc1a436bed FpDebug: Linux, do not add any SigStop to deferred event list. (It going to be ignored as deInternalContinue anyway)
git-svn-id: trunk@61876 -
2019-09-14 14:27:45 +00:00
martin
4be5e94e3e FpDebug: Linux, do not modify running processes (in case of deInternalContinue, some processes may not be paused)
git-svn-id: trunk@61875 -
2019-09-14 14:27:44 +00:00
martin
c7fae55176 FpDebug: fix flag for breakpoint
git-svn-id: trunk@61874 -
2019-09-14 14:27:42 +00:00
martin
151412f007 FpDebug: improve stepping.
Refactor: Capture initial data before DoContinue
Fix/Improve: Only check and continue the thread that is stepped / Make HiddenBreakpoint hidden from the rest of the controller.

git-svn-id: trunk@61873 -
2019-09-14 14:27:41 +00:00
martin
f17b2727f4 FpDebug: re-arrange order of some classes
git-svn-id: trunk@61872 -
2019-09-14 14:27:39 +00:00
martin
85a2eb7321 FpDebug: fixed uninitialized var, could prevent debugger from stopping when app exits
git-svn-id: trunk@61869 -
2019-09-13 12:09:32 +00:00
martin
3fce95a1c2 FpDebug: Windows, debugln/dbgs include WOW64 names
git-svn-id: trunk@61867 -
2019-09-12 15:33:14 +00:00
martin
c9beb9dffe FpDebug: Windows, fixed Process.Continue with single step request
git-svn-id: trunk@61866 -
2019-09-12 15:33:12 +00:00
martin
cae3f56d05 FpDebug: fixed nil pointer crash when clearing breakpoints, after the debugged app exited.
git-svn-id: trunk@61865 -
2019-09-12 15:33:11 +00:00
martin
df6722dd5f FpDebug: Ensure that exit thread aborts any running command. (The command may change the event-enum-code in FPDEvent, and try to continue running)
git-svn-id: trunk@61864 -
2019-09-12 15:33:09 +00:00
martin
63087a3084 FpDebug: Linux, ensure a breakpoint is reported once for each thread, if hit at the same time
git-svn-id: trunk@61853 -
2019-09-10 18:52:46 +00:00
martin
230c6983fb FpDebug: fix compile on linux
git-svn-id: trunk@61851 -
2019-09-10 13:33:39 +00:00
martin
1958b8edea FpDebug: Windows, Added WoW64
git-svn-id: trunk@61848 -
2019-09-10 01:40:49 +00:00
martin
a2978c370e FpDebug: Windows, remove unused code
git-svn-id: trunk@61847 -
2019-09-10 01:40:48 +00:00
martin
a3fb24b828 FpDebug: load some kernel functions dynamically, to avoid stopping the IDE from starting on pre-vista systems.
git-svn-id: trunk@61846 -
2019-09-09 21:13:57 +00:00
martin
304f6e7be9 FpDebug: Fix requesting process to pause, broken in r61840 #ece9967721
git-svn-id: trunk@61845 -
2019-09-08 23:33:01 +00:00
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
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