Thu, 07 Dec 2023 12:33:31 +0000 Emit and handle (custom) `-register-changed` notification default tip
Jan Vrany <jan.vrany@labware.com> [Thu, 07 Dec 2023 12:33:31 +0000] rev 322
Emit and handle (custom) `-register-changed` notification This commit adds new (custom) asynchronous notification about register value being changed. Standard GDB does not notify MI clients about register value being changed when debugging (for example, by CLI command `set $rax = 1` or via Python's `Value.assign()`). This caused libgdb's register value cache being out of sync. In the past, this was partially worked around by manually emiting the notification on `GDBRegisterWithValue` APIs, but this did not (and could not) handle the case register was changed from GDB command line. To solve this problem, this commit installs a custom Python event handler that emits new GDB/MI notification - `-register-changed` - whenever a register changes after debugee is stopped. This has been enabled by upstream GDB commit 4825fd "gdb/python: implement support for sending custom MI async notifications" On libgdbs side, complete inferior state is invalidated. In theory, one could carefully invalidate only the changed `GDBRegisterWithValue` but in certain cases this could also change the backtrace (for example, if one updates stack pointer) or position in code. So it seems safer to just invalidate everything.
Thu, 07 Dec 2023 15:41:12 +0000 Load libbdbs-specific Python support code on startup
Jan Vrany <jan.vrany@labware.com> [Thu, 07 Dec 2023 15:41:12 +0000] rev 321
Load libbdbs-specific Python support code on startup This commit adds support for loading libgdbs-specific (GDB/MI) support code into GDB. This is a preparation for adding custom notifications and commands that are specific to libgdbs.
Thu, 07 Dec 2023 15:40:01 +0000 Compatibility: add portlib method returning directory with test programs
Jan Vrany <jan.vrany@labware.com> [Thu, 07 Dec 2023 15:40:01 +0000] rev 320
Compatibility: add portlib method returning directory with test programs ...as it cannot be easily determined in a dialect-agnostic way.
Thu, 07 Dec 2023 11:54:09 +0000 Do not wait for MI response when using `GDBDebugger >> #pythonImport:`
Jan Vrany <jan.vrany@labware.com> [Thu, 07 Dec 2023 11:54:09 +0000] rev 319
Do not wait for MI response when using `GDBDebugger >> #pythonImport:` ...in order to speed up startup.
Wed, 06 Dec 2023 11:42:08 +0000 Handle leading `-` when mapping async notification to class name
Jan Vrany <jan.vrany@labware.com> [Wed, 06 Dec 2023 11:42:08 +0000] rev 318
Handle leading `-` when mapping async notification to class name GDB commit 825fd2d "gdb/python: implement support for sending custom MI async notifications" introduced support for user-defined asynchronous notifications. Such notification can (in fact, should!) start with hyphen (`-`) and may contain sequence of hyphens. This commit fixes `GDBAsyncEvent class >> #eventClassForType:` to handle such cases.
Fri, 08 Sep 2023 12:40:22 +0100 Fix `GDBMIDebugger` after rename of `GDBStXUnixProcess` to `GDBUnixProcess`
Jan Vrany <jan.vrany@labware.com> [Fri, 08 Sep 2023 12:40:22 +0100] rev 317
Fix `GDBMIDebugger` after rename of `GDBStXUnixProcess` to `GDBUnixProcess` ...in commit d1422e1ee.
Mon, 04 Sep 2023 15:35:45 +0100 Rename `GDBRegisterValueChangedEvent` to `GDBRegisterChangedEvent`
Jan Vrany <jan.vrany@labware.com> [Mon, 04 Sep 2023 15:35:45 +0100] rev 316
Rename `GDBRegisterValueChangedEvent` to `GDBRegisterChangedEvent` ...to make name consistent with `GDBMemoryChangedEvent`.
Mon, 04 Sep 2023 14:06:33 +0100 Add inspector tabs showing breakpoints, inferiors, ...
Jan Vrany <jan.vrany@labware.com> [Mon, 04 Sep 2023 14:06:33 +0100] rev 315
Add inspector tabs showing breakpoints, inferiors, ... ...threads, backtrace and registers, just like in Pharo port (see commit b333314e)
Mon, 04 Sep 2023 14:00:57 +0100 Add MI parser test
Jan Vrany <jan.vrany@labware.com> [Mon, 04 Sep 2023 14:00:57 +0100] rev 314
Add MI parser test This commit add test to parse real-world frament which failed to Pharo properly at some point. It is encoded here as bytearray to make sure all the characters are preserved exactly as they were.
Thu, 31 Aug 2023 13:21:07 +0100 Pharo port: add initial set of GT inspector extensions
Jan Vrany <jan.vrany@labware.com> [Thu, 31 Aug 2023 13:21:07 +0100] rev 313
Pharo port: add initial set of GT inspector extensions
(0) -300 -100 -10 tip