Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[imp-dev] Re: Writing a debugger with IMP

Hi Thomas,

Yes, you'll need to implement the IToggleBreakpointsHandler interface, and there's a wizard in the metatooling ("Toggle Breakpoint Handler") to both create the implementation stub and add the matching extension definition in the plugin.xml.

And, yes, at the moment, the interface only supports line breakpoints. This was a case where we felt didn't have broad enough experience from people implementing debugging support for a wide enough variety of languages to know what the interface ought to look like beyond that.

But we're naturally interested in soliciting input from developers like you to help define a more full-featured interface. So anything you can tell us about the desired shape of the interface would be most welcome! Please feel free to post on the IMP newsgroup, or imp-dev mailing list, with your ideas.

On Jul 7, 2010, at 6:18 AM, Thomas Jespersen wrote:
Hi Bob,

I wrote you an e-mail some time ago with some questions about IMP/ LPG - first of all, I'd like to thank you (and the people you work with) for IMP. I would have sent this e-mail.

Long story short, we're using IMP to develop an IDE for a language called gbeta, and I'm currently working with creating a debug model (debugging facilties in gbeta are quite well developed - for Emacs), and so far so good, we can start a debug process without problems, so the next step is to implement breakpoints of a kind. gbeta supports breakpoints quite well, although it doesn't have a notion of the line of a breakpoint, it counts characters. We'd like to support this, but for now we can make do with line breakpoints.

Anywho, using the UniversalEditor (IMP editor) as the editor, the Toggle Breakpoint doesn't seem to work - I tried looking into it, and have found that UniversalEditor.getAdapter(IToggleBreakpointsTarget) calls the LanguageServiceManager to get an IToggleBreakpointsHandler (fToggleBreakpointsHandler, which is null).

It seems to me that we should be able to implement IToggleBreakpointsHandler and somehow make it available to LanguageServiceManager (or ServiceFactory)?

But right now, I feel like I'm guessing a lot, so my fundamental (big) question would be, what should I do to implement toggling of breakpoints?

Thanks in advance!

-- Thomas

Cheers,
 - Bob



Back to the top