Martin
6f99f0fe16
Debugger: Configuration for value converter
2022-08-05 02:44:28 +02:00
Martin
2d0c2ea8ba
Debugger: new result type for ConvertValue
2022-08-04 22:50:40 +02:00
Martin
2f4e270270
FpDebug: Windows, rewrite of "step after hitting breakpoint". Fix issues with incorrect steps (Instr-Ptr not reset) in multi thread scenario, when the int3 had been remove in the meantime.
2022-08-02 15:20:50 +02:00
Martin
48043da966
Debugger: Converter, match "*" and inheritance via "is:"
2022-08-01 18:41:17 +02:00
Martin
de03939782
LazDebuggerFp: Converter JsonForDebug
2022-07-27 01:17:36 +02:00
Martin
099c102565
FpDebug, LazDebuggerFp: more string support for function-eval / support string literals as param
2022-07-27 01:17:36 +02:00
Martin
8a0a21a7bc
LazDebuggFp,FpDebug: fix racing conditions
...
- while TDbgController.SendEvents runs in the main thread, the work-thread may run TDbgControllerCallRoutineCmd
- TDbgControllerCallRoutineCmd may run, while the main thread attempts to set the next command
- CallStack code was from before the WorkQueue was introduced. It needs a different approach. (without attempting to start a new worker)
2022-07-27 01:17:35 +02:00
martin
2fce58a3de
FpDebug: support DW_TAG_variant_part
2022-07-13 21:19:35 +02:00
Martin
4bc63f4650
LazDebuggerFp: Variant-converter, check record size.
2022-07-13 10:27:48 +02:00
Martin
fd64dddf42
Debugger: Fixes for "Add option to limit converter invocations."
2022-07-03 12:11:41 +02:00
Martin
271024d8d9
Debugger: Add option to limit converter invocations.
2022-07-03 01:54:32 +02:00
Martin
6243770298
LazDebuggerFp: reduced default limit for max array members returned. Arrays can now be paged. (and RecurseCnt can override it) / removed hardcode 1000 limit.
2022-07-03 01:54:28 +02:00
Martin
a571e61d9c
LazDebuggerFp: Add cache for common function addresses (used in watch-eval function calling), e.g. FPC_ANSISTR_DECR_REF
2022-07-01 01:06:09 +02:00
Martin
9e67808d84
LazDebuggerFp: improve errors for function calling
2022-07-01 01:06:08 +02:00
Martin
9fb4edfbe5
FpDebug: PascalParser, fixed unary minus after comma.
2022-06-30 02:30:14 +02:00
Martin
b54ac53cca
Debugger: improve SysVarToLStr - Improve error handling
2022-06-28 23:44:21 +02:00
Martin
720538be97
Debugger: improve SysVarToLStr - fix uninitialized result
2022-06-28 23:44:20 +02:00
Joost van der Sluis
62145cd833
FpDebug: Use Dwarf Call Frame Information (CFI) for stack-tracing when available. Refactored some stuff to be able to place it in a separate unit.
2022-06-28 23:09:34 +02:00
Pascal Riekenberg
2bc0a9b371
Debugger: added support for TThread.NameThreadForDebugging
2022-06-28 07:35:40 +02:00
Martin
1c008e121d
Debugger: improve SysVarToLStr - convert fields of structures too / array in Inspector
2022-06-27 22:34:08 +02:00
Martin
dd89fc14e1
LazDebuggerFp: fixed crash in callstack / dangling pointer
2022-06-23 17:22:23 +02:00
Martin
b95d4d491a
Debugger: allow calling SysVarToLStr - fix handling watch-property settings
2022-06-23 15:00:32 +02:00
Martin
131d1062df
Debugger: allow calling SysVarToLStr for variants (via user defined type-names)
2022-06-23 13:54:18 +02:00
Martin
f606986f1b
LazDebuggerFp, FpDebug: Enable watch-eval calling functions with records as param (Win-64/32 / Linux-64)
2022-06-21 00:29:07 +02:00
Martin
b014798858
LazDebuggerFp, FpDebug: Enable watch-eval calling function with strings as param/result (only DWARF 3 / up)
2022-06-21 00:29:07 +02:00
Martin
ae8bbb1cd6
FpDebug: Refactor TFpDbgInfoCallContext (add "AddParam" / remove Dbg-Process from "CreateParamSymbol")
2022-06-21 00:06:04 +02:00
Martin
90453ce72b
Debugger: Inspect-Win, implement paging for large arrays
2022-06-12 22:14:12 +02:00
Martin
1328b8a1ab
FpDebug: tests
2022-06-12 22:14:12 +02:00
Martin
0b051af509
IDE, FpDebug: evaluate more sub-items for Inspect Dialog.
2022-06-12 22:14:12 +02:00
Martin
e7b23f98d0
LazDebuggerIntf, FpDebug: add array and structure types
2022-06-09 17:46:23 +02:00
Martin
464d077fd4
DebuggerIntf, FpDebug: add PChar vs String
2022-06-07 00:35:59 +02:00
Martin
99495ba51a
FpDebugDebugger: fix retrieving stack without limit (fix copy stack to clipboard)
2022-06-04 23:06:11 +02:00
mattias
9e762cde89
udpated makefiles
2022-05-29 19:34:19 +02:00
Martin
76d9771c34
Debugger: More LazDebuggerIntf. Add/Improve numeric, pointer, float and string watches
2022-03-24 00:39:04 +01:00
Martin
8d3d08ae4c
Debugger: Moved dsState to new unit
2022-03-24 00:39:03 +01:00
Martin
e33da7bf02
LazDebuggerFp: Fix watches test. It was accidentally limited to a single sub-test in a37d077199
2022-03-24 00:39:03 +01:00
Martin
4f8efdd21f
FpDebug: fix warnings.
2022-03-24 00:39:03 +01:00
Martin
0e6769ac99
FpDebug, LazDebuggerFp: Implement tracking modified CPU registers (top stack-frame only)
2022-02-25 20:25:01 +01:00
mattias
26c9421318
updated Makefiles
2022-02-24 12:55:45 +01:00
Martin
d38a268f3d
FpDebug: Win64, Fix "Run (F9)" incorrectly triggered watch/stack updates while the app was running.
...
Similar to the Win32 fix at a92db946ec
2022-02-22 01:01:40 +01:00
Martin
dce19de110
FpDebug: Disassembler, start disassembling at begin of current function. Add limit, how far back the begin is allowed to be
2022-02-09 16:42:27 +01:00
Martin
d56774da57
FpDebug: Disassembler, start disassembling at begin of current function, to provide some LinesBefore
2022-02-09 15:39:27 +01:00
Martin
e19b911ab7
FpDebug: Disassembler, fix SrcStatementCount / read-mem, if size is too large
2022-02-09 15:39:27 +01:00
Martin
d7b9ebb6dc
FpDebug: Trigger "Changed" after adding dis-assembled ranges. Fixes scrolling down in frontend.
2022-02-09 15:39:27 +01:00
Martin
a37d077199
Debugger: Update LazDebuggerFp testcase for new LazDebuggerIntf / SetNumValue
2022-02-01 17:18:20 +01:00
Martin
8e3c816593
Debugger, LazDebuggerIntf: Introduce SetNumValue and SetTypeName
2022-02-01 17:18:20 +01:00
Martin
442f57cf49
LazDebuggerFp: Handle WatchValue in thread
2022-02-01 17:18:20 +01:00
mattias
e8b2d0f821
lazdebuggers: fixed compile linux
2022-01-16 21:48:49 +01:00
Martin
a92db946ec
FpDebug: Win32, Fix "Run (F9)" incorrectly triggered watch/stack updates while the app was still running (slowing execution).
2022-01-16 17:06:31 +01:00
Martin
6d0ddd50bd
FpDebug, test: Add build mode for $DEFINE TEST_FPDEBUG_SINGLE_THREAD
2022-01-10 14:08:38 +01:00
Martin
2fa72c8755
LazDebuggerFp: Check callback is assigned.
2022-01-10 14:08:38 +01:00
Martin
d1ac568e96
Debugger: New package LazDebuggerIntf / Replace TWatchValue with TWatchValueIntf
2022-01-10 14:08:37 +01:00
Martin
aa45837b87
IdeDebugger: New Package IdeDebugger. Move some classes from DebuggerIntf
2022-01-10 14:08:36 +01:00
Martin
7f9e1893d2
Rename TDBGEvaluateFlag to TWatcheEvaluateFlag
2022-01-10 14:08:35 +01:00
Martin
6b95ef242c
IDE, Debugger-Intf: Hide Monitor property for Callstack, Threads
2022-01-09 01:13:55 +01:00
Martin
2b5f264ede
IDE, Debugger-Intf: Clean-up, Move Locals list from DbgIntf to IDE
2022-01-09 01:13:55 +01:00
Martin
717ec4887d
IDE, Debugger-Intf: Clean-up, Move Watches list from DbgIntf to IDE
2022-01-09 01:13:55 +01:00
Martin
bfcd8fc293
LazDebuggerFp: More stepping tests
2021-12-12 21:00:28 +01:00
Martin
a1c6e559e1
LazDebuggerFp: Cleanup compiler hints
2021-12-12 21:00:27 +01:00
Martin
6e5c00bb59
LazDebuggerFp: Handle Win32-SEH for step-in/out/over
2021-12-12 21:00:27 +01:00
Martin
4490c1f5a5
LazDebuggerFp: ifdef win64 code
2021-12-12 21:00:22 +01:00
Martin
97c29d9540
LazDebuggerFp: Added safety measures for single stepping (Win64 SEH)
2021-12-12 21:00:22 +01:00
Martin
4c78791096
LazDebuggerFp: catch exceptions in Application.ProcessMessages
2021-12-12 21:00:22 +01:00
Martin
c33019c14b
LazDebugger: Fix, ensure DefaultContext is available. Broken in e618b09804
2021-12-10 00:29:26 +01:00
Martin
4548d90a7f
LazDebuggerFp: Win64 - catch finally handlers, if the "try" block was entered via breakpoint (not stepped into) *and* left via "exit".
2021-12-09 18:17:57 +01:00
Martin
c90fb08f85
LazDebuggerFp: Win64 -Monitor RtlRestoreContext to catch more unwind cases.
2021-12-09 18:17:56 +01:00
Martin
269079e11a
LazDebuggerFp, Tests: Ensure the debugger does not break out of ProcessLoop, unless it is done.
2021-12-09 18:17:56 +01:00
Martin
280d99664e
LazDebuggerFp, Tests: Ensure the debugger does not go into unwanted dsInternalPause
2021-12-09 18:17:56 +01:00
Martin
e618b09804
LazDebuggerFp: Fix Stepping and threads / Ensure loop exits with correct EventType
2021-12-09 18:17:56 +01:00
Martin
54d2e1f159
FpDebug: "Run To" command to find the next line with code. (Step over to, does not yet)
2021-12-07 20:35:49 +01:00
Martin
a691278256
LazDebuggerFp: Fix handling of internal SEH breakpoints. Do not remove breakpoints from outer frames, they may still be needed.
2021-12-07 19:59:30 +01:00
Martin
4f94496f20
LazDebuggerFp: clear flags for set/unset internal breaks
2021-12-07 15:41:29 +01:00
Martin
ba63a18843
LazDebuggerFp: Fix removing temp break from "FBreakPoints[bplSehW64Except]". "Rdx" was a copy and paste error, once hit the address is "PC".
2021-12-07 12:50:08 +01:00
Martin
480b0fd02d
LazDebuggerFp: Fixed step-out over finally. Do not stop in finally block.
2021-12-06 17:23:28 +01:00
Martin
28d1437b17
LazDebuggerFp: Added Comments for handling FpcSpecific data
2021-12-06 17:23:28 +01:00
Martin
1b1dd8f5fa
LazDebuggerFp: Fixed race condition / double free. By the time TFpDebugExceptionStepping.Destroy is called, the debug process should be gone, and should have deleted all its breakpoint, including those in DoDbgStopped. Also this is usually called in the Process-Exit event.
2021-12-05 22:44:05 +01:00
Joost van der Sluis
bc4718efae
FpDebug: Ability to pass multiple libraries to OnLibrary(Un)LoadedEvent and detection of loading of libraries on Linux
2021-12-05 01:46:45 +01:00
Martin
217459a76f
LazDebuggerFp: fixed a nil deref, DefaultContext needs CurrentThread
2021-12-01 20:39:53 +01:00
Martin
d8188bb780
FpDebug: Show "class var" if in current context (no class/instance-name prefix).
2021-12-01 19:55:39 +01:00
Martin
32aaa9b127
FpDebug: Fix default value / fix test
2021-11-07 15:32:43 +01:00
ccrause
b7a20adaeb
Remove unused variable FProcessConfig.
2021-11-06 14:23:33 +01:00
ccrause
923fce0cb0
Change StartInstance and AttachInstance to normal methods. TDbgController now calls OSDbgClasses.DbgProcessClass to create a process class instance with a TDbgProcessConfig parameter which can be subclassed and passed around for configuration. The remote configuration is now passed via this parameter as a subclass.
2021-11-06 14:23:28 +01:00
Martin
3b2e56528b
Merge branch 'fpdebug-AVR-2021-11-05' into 'main'
...
Fpdebug: Update AVR support (continuing from !36 )
See merge request freepascal.org/lazarus/lazarus!40
2021-11-06 09:01:24 +00:00
Martin
f5956f9fa8
Regenerate Makefiles for fp/gdbmi-debuggers
2021-11-01 17:29:46 +01:00
ccrause
f515d77c42
Ensure bufOffset calculation cannot result in a negative value
2021-11-01 12:15:25 +02:00
ccrause
2e74920e74
Fixed up Makefiles so that new dependencies build correctly
2021-11-01 12:06:56 +02:00
ccrause
cbff56be77
Moved TXmlConfStringList from gdbmidebugger to DebuggerPropertiesBase to share this property class between gdbmidebugger and fpdebugdebugger.
2021-11-01 12:06:00 +02:00
mattias
0354b47bc4
updated makefiles
2021-10-18 14:32:30 +02:00
Martin
ad741a8d7a
Revert "Disable PEEPHOLE opt in fpc 3.2.0 to fpc 3.2.3 => there is a bug that can cause crashed in fpdebug/lazutils"
...
This reverts commit 78bb88de35
.
2021-10-16 13:41:59 +02:00
Martin
78bb88de35
Disable PEEPHOLE opt in fpc 3.2.0 to fpc 3.2.3 => there is a bug that can cause crashed in fpdebug/lazutils
...
(cherry picked from commit 6d1185d76b
)
2021-10-16 11:45:10 +02:00
Martin
e4499b3ba0
LazDebuggerFp: Run Thread.RegisterValueList in debug-thread
2021-10-13 21:48:26 +02:00
Martin
24c378f797
LazDebuggerFp: Trigger DefaultContext in thread to cache it. (Avoid calling GetInstructionPointerRegisterValue outside the debug-thread)
2021-10-13 21:48:25 +02:00
Martin
12b1484637
LazDebuggerFp: Ensure MemReader.RegisterSize is run in debug-thread. It currently needs the thread-state, as the size is read from the RegisterValue-list.
2021-10-13 19:33:40 +02:00
Martin
f6d50d449f
LazDebuggerFp, test: add run as console app
2021-10-01 14:31:52 +02:00
Martin
c8a6a985d0
LazDebuggerFp: Do not call GetInstructionPointerRegisterValue (ReadThreadState) while target may be running. Also do not call from IDE thread (only debug worker thread is allowed).
2021-09-26 02:01:50 +02:00
Martin
f99f5c0ed9
LazDebuggerFp: Make sure OnIdle is called, and all results are awaited. (Fixes Debug History) / DebugManager triggers snapshots for any dsPause and dsInternalPause.
2021-09-26 01:56:00 +02:00
ccrause
7309087cd0
Only calculate instruction offset if sym is assigned, else default to -1.
2021-09-12 11:17:46 +02:00
ccrause
c2c570c04e
Include function offset of disassembled instruction to AnEntry to help identify the start of non-source lines identified by a function name.
2021-09-11 16:51:48 +02:00
ccrause
5000337f6d
Include function name in disassembled entry item.
2021-09-11 15:00:27 +02:00
Martin
1c87dc96eb
FpDebug: refactor external debug info / Enable for Linux and Windows
2021-08-14 15:23:17 +02:00