martin
82c6e8b284
FpDebug: Change debugging flags on process creation. Allow debugged 32bit processes to launch 64bit sub-processes without the debugger interfering. Sub-processes are anyway currently not debugged. Issue #0038546
...
git-svn-id: trunk@64779 -
2021-03-10 18:38:39 +00:00
mattias
65e16d03fb
fpdebug: less hints
...
git-svn-id: trunk@64686 -
2021-02-28 08:52:37 +00:00
juha
3f78f0d62d
New optimized functions in LazUtils: FilenameExtIs and FilenameExtIn. Used instead of CompareFileExt and similar.
...
git-svn-id: trunk@64583 -
2021-02-15 08:43:50 +00:00
mattias
62c37ad72a
updated Makefiles
...
git-svn-id: trunk@64567 -
2021-02-13 13:01:14 +00:00
martin
14dc58d892
FpDebug: test and helper apps, fixed some compile errors
...
git-svn-id: trunk@64555 -
2021-02-12 18:31:09 +00:00
martin
068feeb931
FpDebug: remove MemMgr.DefaultContext. All MemRead/Write must go via a location-context.
...
git-svn-id: trunk@64554 -
2021-02-12 18:31:07 +00:00
martin
ac0e547a58
FpDebug,AVR: fix communication with gdbserver / thread safety. Patch by Christo Crause Issue #0038443
...
git-svn-id: trunk@64544 -
2021-02-11 23:18:12 +00:00
martin
6857851554
FpDebug/LazDebugger: add asserts for thread safety
...
git-svn-id: trunk@64542 -
2021-02-11 22:40:29 +00:00
martin
fa5c3112f3
FpDebug, LazDebuggerFp: call FOnThreadProcessLoopCycleEvent for deProcessExits / Ensure breakpoints are handled in the loop-thread / some breakpoint fixes
...
git-svn-id: trunk@64538 -
2021-02-11 22:40:21 +00:00
martin
2ae82698cb
LazDebuggerFp: move breakpoints to thread worker queue
...
git-svn-id: trunk@64536 -
2021-02-11 22:40:17 +00:00
martin
54bf4844fc
LazDebuggerFp: Improve shutdown of thread queue.
...
git-svn-id: trunk@64535 -
2021-02-11 22:40:15 +00:00
juha
77e6853ca6
Components: Reduce calls to LowerCase().
...
git-svn-id: trunk@64515 -
2021-02-10 13:43:15 +00:00
mattias
ba067ea6be
fpdebug: fixed compile
...
git-svn-id: trunk@64508 -
2021-02-08 19:55:41 +00:00
juha
b53ad7ceed
Components: Reduce calls to UpperCase() and LowerCase(). Improves performance.
...
git-svn-id: trunk@64506 -
2021-02-08 19:09:30 +00:00
martin
04eb581af0
FpDebug: fix 32bit elf-imagereader (wrong variable used). Issue #38449 Patch by Christo Crause
...
git-svn-id: trunk@64501 -
2021-02-08 02:25:10 +00:00
juha
0feb7a5662
Codetools, Debugger: Use a faster compare method for case-insensitive strings and StringLists.
...
git-svn-id: trunk@64465 -
2021-02-05 11:28:11 +00:00
maxim
b63e036f48
Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug #38436
...
git-svn-id: trunk@64457 -
2021-02-03 22:42:52 +00:00
martin
71e66e0c64
FpDebug: missing result initialization
...
git-svn-id: trunk@64400 -
2021-01-16 19:30:10 +00:00
martin
0027bd2412
FpDebug: better shortstring detection / pointer base-size for string/array types
...
git-svn-id: trunk@64399 -
2021-01-16 19:30:08 +00:00
martin
ba1a82803a
FpDebug: add size for function-ref
...
git-svn-id: trunk@64398 -
2021-01-16 19:30:06 +00:00
martin
fa1a2fa3b0
FpDebug: PascalParser, fixed unary +/- / Added unary for float / tests for float
...
git-svn-id: trunk@64388 -
2021-01-14 21:14:07 +00:00
martin
3f5954b07e
FpDebug: fixed evaluating signed/unsigned mixed AND
...
git-svn-id: trunk@64387 -
2021-01-14 21:14:05 +00:00
juha
42850cfe4d
LazUtils: Deprecate now obsolete unit LazUtf8Classes and remove its references from Lazarus code.
...
git-svn-id: trunk@64384 -
2021-01-14 12:41:32 +00:00
martin
9ffd47ce9f
FpDebug: check for nil, before accessing.
...
git-svn-id: trunk@64359 -
2021-01-08 23:07:55 +00:00
Sergey Larin
5d7d828c63
FpDebug: Support for the 4th argument when calling the function (Win64)
...
Related to a32ac8e665
2021-01-07 12:09:04 +03:00
joost
4b59383f64
FpDebug: Removed usage of hard-coded register
...
git-svn-id: trunk@64310 -
2020-12-30 19:15:57 +00:00
joost
a32ac8e665
FpDebug: support more function-arguments (x86_64)
...
git-svn-id: trunk@64295 -
2020-12-28 21:33:51 +00:00
joost
cfa42adfc3
FpDebug: Fpmake.pp updated
...
git-svn-id: trunk@64294 -
2020-12-28 21:27:55 +00:00
maxim
526e453330
FPDebug: fixed typos, regenerated translations and updated Russian translation
...
git-svn-id: trunk@64259 -
2020-12-20 22:11:02 +00:00
martin
a869c43f49
FpDebug: fix threadmap iterator in linux classes. Broken by locked-iterator
...
git-svn-id: trunk@64248 -
2020-12-20 12:38:51 +00:00
martin
3894fe4f86
FpDebug: fix threadmap iterator in linux classes. Broken by locked-iterator
...
git-svn-id: trunk@64247 -
2020-12-20 11:00:58 +00:00
martin
fa5199045e
LazDebuggerFp, FpDebug: Show an error message, if the debugger cannot run the application. Issue #0038167
...
git-svn-id: trunk@64243 -
2020-12-19 22:39:00 +00:00
martin
43e81576fe
FpDebug: Use thread-save iterator. Issue #0038047 , #38068 . Normal Iterators are added/removed to/from FIterators: TList => which is not thread save. Since the map in question never changes during iteration, the callbacks are not needed.
...
git-svn-id: trunk@64128 -
2020-11-12 12:02:33 +00:00
martin
e2c618e262
FpDebugger: Show classname for functions in stack.
...
git-svn-id: trunk@64022 -
2020-10-15 18:38:20 +00:00
martin
6156b1bf31
FpDebugDebugger: replace Control-thread with ThreadWorkQueue
...
git-svn-id: trunk@64020 -
2020-10-15 18:38:16 +00:00
martin
e229057f03
FpDebug: logging for ThreadWorkerQueue
...
git-svn-id: trunk@64019 -
2020-10-15 18:37:40 +00:00
martin
b5afc22435
FpDebug: Utils, Add TLockList / refactor, move to internal Fifo queue
...
git-svn-id: trunk@64017 -
2020-10-15 18:37:37 +00:00
martin
1db96371a5
FpDebug: fix stdcall
...
git-svn-id: trunk@63983 -
2020-10-09 14:17:22 +00:00
martin
bc13e22021
FpDebug: fix opening files with utf8 name on windows / prevent crash in trying to create filehandle, when an exception occurs. Issue #37884
...
git-svn-id: trunk@63978 -
2020-10-08 20:58:14 +00:00
martin
bb154702ae
FpDebug: Do not display (nested) records as pointer.
...
git-svn-id: trunk@63921 -
2020-09-25 22:08:47 +00:00
maxim
4c69c36745
FPDebug: fixed typo, regenerated translations and updated Russian translation
...
git-svn-id: trunk@63901 -
2020-09-20 23:35:54 +00:00
joost
566610a9ba
FpDebug: Cleanup of several issues introduced in r63899 #539c1f9a2b, in which a lot more was committed then planned. Among others utility functions to allow calling functions with parameters. The ability to set the value of (regvar) variables and some minor bug-fixes. As part of the parameter-support, addresses located in a register are not immediately read and converted to constants anymore. But the location of the actual register is stored. This might have unforeseen side-effects
...
git-svn-id: trunk@63900 -
2020-09-20 21:52:48 +00:00
joost
539c1f9a2b
FpDebug: Renamed TFpDbgHardcodedContext to TFpDbgHardcodedScope
...
git-svn-id: trunk@63899 -
2020-09-20 19:21:53 +00:00
martin
47bbc252d8
FpDebug: Fix QuoteText
...
git-svn-id: trunk@63885 -
2020-09-17 23:04:18 +00:00
martin
fb4e9603c0
FpDebug: Ensure the array for the worker-thread and the main-thread are each unique. Fix occasional search misses. / Small refactor
...
git-svn-id: trunk@63863 -
2020-09-03 16:32:29 +00:00
martin
1a08e0ba34
FpDebug: Fix Step-Into - sometimes would step before the end of statement. This happened if a nested call was single step, and a "ret" statement encountered. The "ret" (in the nested) was attributed to the outer code, wrongly indicating the command "stepped out".
...
git-svn-id: trunk@63862 -
2020-09-03 16:32:27 +00:00
martin
75c2186b1d
FpDebug: Detect incorrect path to unit, and omit path. Issue #0037657
...
git-svn-id: trunk@63840 -
2020-08-29 12:02:20 +00:00
martin
b2cb237d43
FpDebug: Compute full filenames only once
...
git-svn-id: trunk@63839 -
2020-08-29 12:02:18 +00:00
martin
cb9e09de9e
FpDebug: Use available symbol from stack to create SearchScope
...
git-svn-id: trunk@63835 -
2020-08-26 19:15:02 +00:00
martin
c15f2179e9
FpDebug: WorkerQueue, protect with try finally
...
git-svn-id: trunk@63834 -
2020-08-26 19:15:00 +00:00
martin
d62e55102b
FpDebug: use threads to scan units for symbol
...
git-svn-id: trunk@63829 -
2020-08-25 17:31:53 +00:00
martin
c9916553dd
FpDebug: extend/rework TFpThreadWorkerQueue
...
git-svn-id: trunk@63828 -
2020-08-25 17:31:51 +00:00
martin
d279fb5a4a
FpDebug: Move "uses" (ensure register) of imagereader classes from controller to DbgInfo (not all apps use a controller)
...
git-svn-id: trunk@63821 -
2020-08-24 11:19:20 +00:00
martin
54e4b88848
FpDebug: remove circular unit references
...
git-svn-id: trunk@63819 -
2020-08-23 22:57:41 +00:00
martin
b63067892d
FpDebug: More use of name hashes
...
git-svn-id: trunk@63816 -
2020-08-23 12:52:32 +00:00
martin
f34d943098
FpDebug: fix, TLazThreadedQueue, check result of push/pop item, instead of item=nil
...
git-svn-id: trunk@63815 -
2020-08-23 12:52:30 +00:00
martin
2d8cf332f9
FpDebug: Run some tasks in threads during startup
...
git-svn-id: trunk@63812 -
2020-08-22 20:27:17 +00:00
martin
953c9964f8
FpDebug: make more string params "const foo :string"
...
git-svn-id: trunk@63810 -
2020-08-22 20:27:14 +00:00
martin
6ed8bff46a
FpDebug: Faster upper/lower-case. (for ansi only idents)
...
git-svn-id: trunk@63809 -
2020-08-22 20:27:11 +00:00
martin
24d48052e3
FpDebug: Speed up fpdebug (GoNamedChild) by creating hashes for symbol names / Create Hash-lookup field for units to skip some CU
...
git-svn-id: trunk@63808 -
2020-08-22 20:27:10 +00:00
martin
24a3af8855
FpDebug: Refactor passing upper+lowercase name for search
...
git-svn-id: trunk@63807 -
2020-08-22 20:27:08 +00:00
martin
c4d125495e
FpDebug: Fix Controller.Call / wrong type for context param
...
git-svn-id: trunk@63794 -
2020-08-19 19:14:33 +00:00
martin
1bacaaff9f
FpDebug: Add reference for value.context
...
git-svn-id: trunk@63787 -
2020-08-18 23:12:51 +00:00
martin
d8007187b8
FpDebug, apps: Compilation fixes
...
git-svn-id: trunk@63785 -
2020-08-18 23:12:48 +00:00
martin
1ba76474e3
FpDebug: Separate Context and SearchScope
...
git-svn-id: trunk@63784 -
2020-08-18 23:12:46 +00:00
martin
93c1ca640f
FpDebug: Rename some context classes, and search functions. Start differentiating between Context and SearchScope
...
git-svn-id: trunk@63783 -
2020-08-18 23:12:42 +00:00
martin
743a1db4a0
FpDebug: Compile Hints / Missing function results
...
git-svn-id: trunk@63782 -
2020-08-18 23:12:39 +00:00
juha
125e794a87
Remove useless test for X <> Nil when using "is" operator.
...
git-svn-id: trunk@63779 -
2020-08-18 17:35:21 +00:00
martin
9ff4b0dc00
FpDebug: Win, add debugln for ContinueDbgEvent / WaitForDebugEvent
...
git-svn-id: trunk@63777 -
2020-08-18 11:37:54 +00:00
martin
633b2735dd
FpDebug: Test, fix compile
...
git-svn-id: trunk@63776 -
2020-08-18 11:37:52 +00:00
martin
f2959d4c98
FpDebug: Win, Only read ThreadState once per thread.
...
git-svn-id: trunk@63775 -
2020-08-18 00:04:04 +00:00
martin
5b077144a9
FpDebug: PascalBuilder, add missing output for some type declarations
...
git-svn-id: trunk@63772 -
2020-08-17 21:50:40 +00:00
martin
4145a55fee
FpDebug: small optimization for GetDerefAddress: TFpDbgMemLocation
...
git-svn-id: trunk@63771 -
2020-08-17 21:50:38 +00:00
martin
2e3e27feb2
FpDebug: Allow ClassType.Field => for static fields / return type on none static fields
...
git-svn-id: trunk@63770 -
2020-08-17 21:50:36 +00:00
martin
67a21fe3bb
FpDebug: Allow structure/class members to have DW_AT_const_value
...
git-svn-id: trunk@63769 -
2020-08-17 21:50:35 +00:00
martin
ee5e720d74
FpDebug: Safety checks for Value <> nil. (In case of broken dwarf info)
...
git-svn-id: trunk@63768 -
2020-08-17 21:50:33 +00:00
martin
2bba45a96c
FpDebug: SetRegisterValue for Windows
...
git-svn-id: trunk@63764 -
2020-08-16 20:23:35 +00:00
martin
1f229f6246
FpDebug: Fix compile on Windows
...
git-svn-id: trunk@63753 -
2020-08-16 12:40:36 +00:00
joost
a733105c1c
fpDebug: Ability to do simple function-calls
...
git-svn-id: trunk@63751 -
2020-08-16 10:20:37 +00:00
joost
a46dc42df8
* Parameter-type adapted, to clarify what kind of symbol should be passed
...
git-svn-id: trunk@63709 -
2020-08-09 21:15:39 +00:00
martin
838de9a502
FpDebug: Ensure PauseRequest calls break handler. On Linux Process.Pause does not trigger an PausedAtHardcodedBreak
...
git-svn-id: trunk@63597 -
2020-07-18 23:22:38 +00:00
mattias
61c53d6f41
LazUtils/FreeType: Separate FreeType stuff into its own package
...
git-svn-id: trunk@63558 -
2020-07-14 18:09:17 +00:00
mattias
8ceb09a67b
make: changed default darwin lcl platform from carbon to cocoa
...
git-svn-id: trunk@63551 -
2020-07-13 09:00:41 +00:00
martin
c84d9e5bfe
LazDebugFp, FpDebug: TestAssert does not set exception frame. Search by IP address
...
git-svn-id: trunk@63535 -
2020-07-08 22:39:00 +00:00
martin
69ee06144d
FpDebug: Fix searching frame by BasePointer
...
git-svn-id: trunk@63533 -
2020-07-08 22:38:56 +00:00
martin
57f2930395
FpDebug: Pause at hardcoded int3
...
git-svn-id: trunk@63513 -
2020-07-05 19:16:59 +00:00
martin
e55e3eec50
FpDebug: Refactor OnHitBreakpointEvent
...
git-svn-id: trunk@63512 -
2020-07-05 19:16:56 +00:00
martin
50c0885715
FpDebug/LazDebuggerfp: Make memory limits configurable
...
git-svn-id: trunk@63509 -
2020-07-05 01:18:32 +00:00
martin
9d8b224756
FpDebug: Improve using linker symbols (.symtab) on Linux. (Store SectionEnd Addr as upper bound for search)
...
git-svn-id: trunk@63501 -
2020-07-03 13:35:35 +00:00
martin
8158231ff0
FpDebug: Windows, fix PE-Symbol loader. Use correct offset for each section
...
git-svn-id: trunk@63488 -
2020-07-02 13:23:36 +00:00
martin
b9173dead1
FpDebug: Added workaround for frame detection. Exceptions stops at entry point, and there can not yet be a frame.
...
git-svn-id: trunk@63461 -
2020-06-28 14:43:13 +00:00
martin
5d80c349fb
FpDebug: find stackframe for exception
...
git-svn-id: trunk@63459 -
2020-06-28 14:43:10 +00:00
martin
688b1c9e2a
FpDebug: Improve stack frame detection (64bit)
...
git-svn-id: trunk@63458 -
2020-06-28 14:43:08 +00:00
mattias
9dcd9ee04d
updated makefiles
...
git-svn-id: trunk@63453 -
2020-06-28 11:01:41 +00:00
ondrej
75bf045f79
fpDebug: i386 compilation
...
git-svn-id: trunk@63442 -
2020-06-27 06:52:30 +00:00
joost
44f761cd43
FpDebug: array-bounds implemented
...
git-svn-id: trunk@63440 -
2020-06-26 21:01:39 +00:00
maxim
fd9a80af09
Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug #37240
...
git-svn-id: trunk@63435 -
2020-06-23 21:25:15 +00:00
martin
7291cd0b91
FpDebug: more codepage safety checks
...
git-svn-id: trunk@63427 -
2020-06-23 12:52:59 +00:00
martin
1f395d4f2b
FpDebug: fix darwin, issue #0037234
...
git-svn-id: trunk@63425 -
2020-06-23 12:45:34 +00:00
mattias
e660c90155
fpdebug: fix compile under darwin fpc 3.0.4
...
git-svn-id: trunk@63408 -
2020-06-20 19:01:26 +00:00
maxim
d16221820a
FPDebug: enabled i18n, fixed typos, added Russian translation
...
git-svn-id: trunk@63400 -
2020-06-19 23:04:56 +00:00
martin
21f849d337
FpDebug: shorten the output for pchar like types (strings in dwarf 2)
...
git-svn-id: trunk@63399 -
2020-06-19 21:05:17 +00:00
martin
4b28988db2
LasDebuggerFp: Better error handling when trying to cast to instance class (show none casted class, if cast not avail)
...
git-svn-id: trunk@63398 -
2020-06-19 17:45:26 +00:00
martin
be7b855369
FpDebug: Introduce configurable limits for mem usages / display len of array or string
...
git-svn-id: trunk@63397 -
2020-06-19 17:45:24 +00:00
martin
a62432ac71
FpDebug: Fixed reading memory for #0 terminated string data
...
git-svn-id: trunk@63393 -
2020-06-18 19:56:30 +00:00
martin
4570e9dea5
FpDebug: fix reading string constant, broken in r63193 #71fbdbd144 "support for codepages in Dwarf-3"
...
git-svn-id: trunk@63392 -
2020-06-18 18:08:00 +00:00
martin
f59a294a01
FpDebug: Fixed reading memory for #0 terminated string data
...
git-svn-id: trunk@63391 -
2020-06-18 18:06:26 +00:00
martin
24b1e22d91
FpDebug: Windows, show dll-entrypoint+offs in stack/thread list
...
git-svn-id: trunk@63387 -
2020-06-18 02:13:00 +00:00
joost
2d8d1f2342
Debugger: fpmake.pp updated, FpDbgHardcodedFreepascalInfo added
...
git-svn-id: trunk@63386 -
2020-06-17 21:56:49 +00:00
martin
f97bb256fd
FpDebug: add error message
...
git-svn-id: trunk@63384 -
2020-06-17 20:01:27 +00:00
martin
a667bbd318
FpDebug: PascalParser fix deref issues with typecasted pointers
...
git-svn-id: trunk@63383 -
2020-06-17 20:01:25 +00:00
martin
1b2bf99ec1
FpDebug: refactor showing exception details
...
git-svn-id: trunk@63380 -
2020-06-17 16:52:12 +00:00
martin
361235b421
FpDebug: Always get a Dwarf Context (if there are any units) => at least for global vars/symbols
...
git-svn-id: trunk@63365 -
2020-06-16 19:57:31 +00:00
martin
10fafd96d0
FpDebug: remove deprecated FindContext(address-only)
...
git-svn-id: trunk@63364 -
2020-06-16 19:57:29 +00:00
martin
c41f071d7b
FpDebug: Context for unknown location
...
git-svn-id: trunk@63363 -
2020-06-16 19:57:27 +00:00
martin
4e26ecdd80
FpDebug: fix shortstrings, broken in r63193 #71fbdbd144 "support for codepages in Dwarf-3"
...
git-svn-id: trunk@63361 -
2020-06-16 13:42:47 +00:00
martin
201400311a
FpDebug: fix WideString, broken in r63193 #71fbdbd144 "support for codepages in Dwarf-3"
...
git-svn-id: trunk@63360 -
2020-06-16 13:42:45 +00:00
martin
8a702248e3
FpDebug: fixed wrong type-cast in TFpValueDwarfArray.DoGetOrdering, TFpValueDwarfFreePascalArray, GetInstanceClassNameFromPVmt
...
git-svn-id: trunk@63359 -
2020-06-16 13:42:44 +00:00
martin
a43e155cdb
FpDebug, Debuggers, IDE: Make MemManager easier to access. (via Controller and Instance)
...
git-svn-id: trunk@63358 -
2020-06-16 13:42:42 +00:00
mattias
40fd619b36
fpdebug: compile with 3.0.4
...
git-svn-id: trunk@63357 -
2020-06-16 11:26:06 +00:00
martin
e84ff269e4
FpDebug: change GetInstanceClassNameFromPVmt to go through TFpDwarfFreePascalSymbolClassMap
...
git-svn-id: trunk@63356 -
2020-06-15 18:19:02 +00:00
martin
8d02777940
FpDebug: refactor getting instantiated classname.
...
git-svn-id: trunk@63355 -
2020-06-15 16:18:26 +00:00
joost
6c4605be97
FpDebug: Added hardcoded debug-info for the evaluation of Exception-classes
...
git-svn-id: trunk@63349 -
2020-06-12 22:00:53 +00:00
martin
3aff869045
FpDebug: Implemented StepOverTo
...
git-svn-id: trunk@63304 -
2020-06-06 00:53:46 +00:00
joost
c326b7a628
fpDebug: Fixed endless loop when the debuggee receives an exception-signal. (Calling wstopsig on the signal twice is not the way to go)
...
git-svn-id: trunk@63282 -
2020-06-03 22:08:16 +00:00
joost
97716ad3a4
* Missing file added to package, and marked some units as specific for a target
...
git-svn-id: trunk@63214 -
2020-05-23 07:32:45 +00:00
joost
5c8d50b386
FPMake: Regenerated
...
git-svn-id: trunk@63210 -
2020-05-22 15:11:27 +00:00
joost
71fbdbd144
FpDebug: support for codepages in Dwarf-3 FreePascal (3.0.0 and up) AnsiStrings
...
git-svn-id: trunk@63193 -
2020-05-21 15:11:26 +00:00
Sergey Larin
16218b91f9
FpDebug: Fixed incorrect new length of FLocation array in TFpInternalBreakpoint.RemoveAddress
...
fix c1611124b4
2020-05-15 13:27:12 +03:00
martin
c9dea89ec8
FpDebug: Linux, Fix accessing dangling pointer while pausing all threads. (thread removed, after exit-signal)
...
git-svn-id: trunk@63156 -
2020-05-14 15:55:07 +00:00
martin
c6680d5c01
FpDebug: Improve Step-over/in when stepping of the last "end" line of a procedure. Always step to next line in caller.
...
git-svn-id: trunk@63075 -
2020-04-25 13:23:28 +00:00
martin
3370955c2b
FpDebug: Fix pause on linux
...
git-svn-id: trunk@63067 -
2020-04-24 20:08:20 +00:00
martin
ee2ae9567c
FpDebug: Do not ignore SigTrap
...
git-svn-id: trunk@63065 -
2020-04-24 20:08:17 +00:00
martin
fb73a010b2
FpDebug: Remember single-step if other threads cause events / deferred events
...
git-svn-id: trunk@63063 -
2020-04-24 20:08:14 +00:00
martin
11ad3881e8
FpDebug: stepping, avoid double step out.
...
git-svn-id: trunk@63062 -
2020-04-24 20:08:13 +00:00
martin
074fc3b2f0
FpDebug: Fix "stepped out" detection for step-over/in. Do not stop an "leave" command.
...
git-svn-id: trunk@63061 -
2020-04-24 20:08:11 +00:00
martin
f2d5fd797b
FpDebug: Refactor storing/comparing stack-pointer/frame for step-out detection. Allow different architectures to provide sub-classes
...
git-svn-id: trunk@63060 -
2020-04-24 20:08:09 +00:00
martin
35706ffaa6
FpDebug: Improve step-commands for threads. Events in other threads, do not need single-stepping
...
git-svn-id: trunk@63059 -
2020-04-24 20:08:07 +00:00
martin
ec587a8ac1
FpDebug: Refactor internal jump detection
...
git-svn-id: trunk@63058 -
2020-04-24 20:08:06 +00:00
martin
6c936074db
FpDebug: added error checks in disassembler tools
...
git-svn-id: trunk@63034 -
2020-04-20 15:31:47 +00:00
martin
ea30b6f6b9
FpDebug: Detect internal forwarding jumps, and avoid stopping at them
...
git-svn-id: trunk@63033 -
2020-04-20 15:31:45 +00:00
martin
944fd0d817
FpDebug: Fixed result of ReadCodeAt. Enable detection of prologue. Fix step-out, fix stack window.
...
git-svn-id: trunk@63032 -
2020-04-20 12:55:14 +00:00
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