This is the home page for the Debugger Machine Interface (DMI) project.
Contents |
MI is a line-based machine-oriented text interface to a debugger. The Gnu GDB debugger offers a reference implementation of MI emission. The MI interface is quickly becoming a de facto standard for integrating debuggers into a variety of environments. For example, Eclipse/CDT (http://www.eclipse.org/cdt) is a C/C++ IDE which consumes the MI emission (from GDB). Apple's Xcode is another IDE which utilizes the interface.
As more vendors turn to the MI API, it becomes important to standardize the API so that implementations don't diverge. Vendors' tools must continue to work with debuggers that emit the interface.
The current MI interface is incomplete: various vendors (and the open source community) have seen the need to add enhancements. The interface is also not completely documented in its various forms. For example, the GDB manual (http://sources.redhat.com/gdb/current/onlinedocs/gdb_25.html#SEC240) documents only a subset of the interface, while the Apple extensions are not documented at all (neither have they been incorporated back into open source).
This makes it difficult for tools vendors (open source or not) and debuggers to work well together in a consistent manner.
The purpose of the working group is to transform the MI interface into a standard Debugger Machine Interface (DMI).
The goals of the working group are:
The goals for the specification are:
Non-goals for the specification are:
FSF Developers (GNU GDB, GNU Emacs):
Interested Tools Vendors:
Other:
If you would like to be added to this working group, please contact Susan Macchia (mailto:susan.macchia@intel.com).
You do not need to be a workgroup member to participate in discussions about DMI or the Public Review, just join the DMI Mailing List (http://lists.linux-foundation.org/mailman/listinfo/dmi-discuss).
The dmi-workgroup mailing list (http://lists.freestandards.org/mailman/listinfo/dmi-workgroup) is for workgroup related info (meeting agenda, minutes, announcements).
We also encourage you to support our sponsor, the Free Standards Group.
We will be using a series of wiki pages to develop the spec. See the meeting minutes in the dmi-workgroup list (http://lists.freestandards.org/pipermail/dmi-workgroup/2006-May/thread.html#8).
The first pass is to document what the manual says/what gdb does, including vendor variations. A wiki is a good tool for this kind of collaborative content gathering.
The DMIwiki is the place to start.