Visual Studio 2013 Community Edition with VisualGDB

November 21, 2014.

Last week Microsoft has announced the release of Visual Studio 2013 Community Edition, a new edition of Visual Studio that is free to use for individual developers and small companies. The licensing terms allow free use for development of non-commercial applications as well as commercial ones if:

  • Used by individual developers
  • Or used by up to 5 users in a non-enterprise organization (<250 PCs, <$1M revenue).

The real power of the new Community Edition compared to the previously known Visual Studio Express is that it fully supports third-party plugins. What that means for cross-platform developers is that you can now install VisualGDB into your Visual Studio Community Edition and use your favorite IDE to develop:

  • Linux applications
  • Apps for embedded Linux boards like Raspberry Pi or Beaglebone
  • Native Android applications and libraries
  • Barebone ARM boards like STM32F4Discovery
  • Linux Kernel when using the VisualKernel plugin

VisualGDB transparently integrates the GNU development tools into Visual Studio, so developing a project using GCC and GDB is not much different from developing a native Windows application.

VisualGDB is not the only add-in that is supported by the new Community Edition. You can find extensions to support your favorite VCS system, code analysis tools and lots of other scenarios in the Visual Studio gallery.

Linux Applications

When you create a Linux application with VisualGDB, it connects to your Linux machine over SSH and sets up a remote build directory. Each time you build your application it transfers the modified files to the Linux machine and performs the build there. The header files are downloaded back so that IntelliSense can use them to do the usual code suggestion.

Debugging the application invokes the GDB debugger on the Linux machine and allows Visual Studio to use it as if it was debugging a Windows application.

Embedded Linux boards

Developing applications for Embedded Linux boards could be as easy as normal Linux applications if only the boards could compile the code as fast as a desktop PC does. As this is not the case, efficient developing and debugging an application for such a board requires a cross-toolchain: a special build of GCC, GDB and other tools that runs on the desktop PC (e.g. on Windows), but produces the code that can run on the ARM board.

VisualGDB is able to install cross-compilers for most popular ARM boards like Raspberry Pi and Beaglebone and automatically use them to build, deploy and debug your applications.

Native Android applications and libraries

VisualGDB supports native c/c++ development for Android through easy setup and highly customizable projects. For more power use with popular external tools such as vs-android, cocos2d-x. Debugging is possible with regular Android devices, embedded boards using Android, Android virtual machines and Android emulators. All easy to set up and documented with tutorials.

Additionally VisualGDB provides fixes and workarounds for unreliable back-end tools, the debugging experience remains smooth as those problems are automatically solved in the background.

Barebone ARM boards

The recent Internet-of-Things boom has encouraged the hardware manufacturers to come up with a wide variety of inexpensive System-on-Chip devices like this $15 ARM microcontroller with a built-in WiFi module. However those devices are too small to run Windows or Linux, so developing firmware for them requires special tools that are sometimes hard to setup. VisualGDB aims at making this setup straight-forward by providing ready-to-use toolchains, easy project setup for popular microcontroller devices and integrating tools like OpenOCD into Visual Studio.

As a result, you simply need to select the chip model and the debugging tool and the underlying tools will be configured and started automatically.