Commit Graph

1134 Commits

Author SHA1 Message Date
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
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