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