Skip to content
This repository has been archived by the owner on Jun 14, 2024. It is now read-only.

Define debugger-generic event-based interface #21

Open
4 tasks
critiqjo opened this issue Jan 13, 2016 · 2 comments
Open
4 tasks

Define debugger-generic event-based interface #21

critiqjo opened this issue Jan 13, 2016 · 2 comments
Milestone

Comments

@critiqjo
Copy link
Collaborator

Separate out LLDB-specific logic and define a debugger-generic event-based interface. This will enable adding support for other debuggers using output parsing (e.g. GDB support can be added by borrowing parser code from Conque-GDB).

  • Separate out the event loop into LLDB event loop and Controller event loop
  • Define a set of debugger events accepted by Controller (update a debug-buffer contents, (un)highlight BP or PC lines, (un)mark a breakpoint, etc.)
  • Define a set of user events accepted by *Controller" (requesting to change mode, execute a command, create a breakpoint, send an interrupt, exit, etc.)
  • Define a generic interruption interface that should be implemented by a debugger event loop class, using which Controller can request the debugger to perform certain actions (based on user request).

(The plugin name along with :LL-prefix of commands may have to be changed, after adding support for more debuggers.)

@critiqjo critiqjo added this to the v2.0 milestone Jan 13, 2016
@Govinda-Fichtner
Copy link

+1

@critiqjo
Copy link
Collaborator Author

critiqjo commented Mar 7, 2017

Support for GDB can be implemented using https://github.com/cs01/pygdbmi without much pain. A good strategy might be to fork this and replace LLDB with GDB, then figure out a generic API that can play well with both, and finally combining the two.

While at it, it might be good to keep in mind Vim channels too (a bit). #34

(These are ideas that I'm unlikely to implement myself.)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants