Source now available for GDB/LLDB debug engine

We previously announced that we’d be releasing the source code for our debug engine that works with GDB and LLDB for C++ on Android and on iOS. Today, we’re pleased to announce that the source is now available on GitHub as the “MIEngine” project.

As a quick refresher, GDB is the GNU project debugger that enables you to debug applications written in C, C++, Objective C, and Pascal (to name a few) running on many platforms including UNIX-based operating systems. LLDB is the debugger from the LLVM project that is the default debugger on Mac OS X and iOS for C, Objective C, and C++, and includes support for additional platforms including Linux.

What does the source code currently support?

Visual Studio 2015 RTM is using the source code to debug C++ on Android and iOS. Android debugging supports versions of GDB in the Android NDKs that support API level 17 and higher. iOS debugging uses the version of LLDB that ships with the Cross Platform C++ development tools in Visual Studio 2015. Additionally the code has off-road, not-yet-polished support for other GDB scenarios such as debugging processes on Linux.

How does it work with both GDB and LLDB?

The debug engine uses the GDB Machine Interface (MI) to communicate with GDB and LLDB. We continue to make contributions back to the LLDB project to add functionality to the LLDB MI layer so it functions on parity with the GDB MI layer.

Licensing, Community Contributions, and Issue Tracking

The source is available under the MIT license. Yes, we are accepting contributions from the community. To get started, see the Contributing Code section of the MIEngine wiki. We will be tracking all issues in the Issues section of the project on GitHub.

We look forward to collaborating with you to enable Visual Studio to debug anywhere you can use GDB or LLDB. Visit the MIEngine project on GitHub to get started today. You can also engage with us via twitter @vs_miengine