Unraveling the Power of Cross-Platform Debugging with Visual Studio Code and Parallels Desktop

Greetings, developers! We have a treat in store for you today, especially for those who use MacOS as your primary development environment.

We’ve just released an insightful video tutorial that explores the incredible possibilities of cross-platform debugging using Visual Studio Code and Parallels Desktop. The video is a must-see for mid-level to senior developers who frequently work on cross-platform applications. 

The video showcases how MacOS, with its unique capabilities, can be used to debug applications across various platforms. It underscores how, with the right tools and knowledge, you can debug almost all platforms available today on your Mac, making it a powerful workstation for developers. 

The video is a hands-on demonstration of debugging a demo application divided into two parts: a standard REST API backend written in Go and a cross-platform frontend application written in Flutter. Please note that the video focuses not on the technologies but on the debugging process. We’ll delve deeper into the technologies in another video. 

The video presents a common scenario many of us face, a user reports an issue. In this case, the application gets stuck on the splash screen when started in Linux. So, how do we understand and fix this issue? That’s what this video will show you, step by step, from opening the backend in Visual Studio Code to initiating the debug mode to navigating through the whole debugging process. 

What’s truly exceptional about this tutorial is the exploration of Visual Studio Code’s impressive remote debugging feature. That capability enables us to debug platforms not natively available on Mac, such as Windows and Linux, using the power of virtualization and Parallels Desktop to run such systems. Visual Studio Server and Parallels Desktop virtualization technologies are a game-changer for cross-platform development and debugging, saving the time and resources required to maintain physical machines with different operating systems. 

You’ll get to see the speed and efficiency of virtualization as the video demonstrates how to set up, run, and debug applications on pre-configured Windows 11 and Ubuntu machines. Debunking the common misconception that virtualization is slow, the video shows that within just 10 seconds, your virtual machine can be up and running, ready for debugging. 

The video also takes you on a tour of Visual Studio Code’s server mode, teaching you how to open a terminal and connect to a tunnel. This knowledge enables you to remotely connect to your virtual machine and debug your application as if you were working on a native platform. It’s like moving from one application to another on your Mac—seamless and efficient. 

As the video unfolds, you’ll witness the debugging process, from identifying an exception to testing the backend using Postman, inspecting backend logs, and finally, modifying the frontend code to rectify the issue. The power of cross-platform debugging becomes evident as the presenter fixes the issue reported by the user. 

But the process continues. The tutorial also emphasizes the importance of testing the application on other platforms after fixing an issue and ensuring that the fix hasn’t inadvertently caused other problems on different platforms. The video demonstrates how to test the application on iOS, macOS, Android, and web browsers, including Chrome and Safari, underscoring the versatility and power of MacOS as a development platform. 

The video concludes by highlighting the advantages of using Parallels Desktop for debugging, especially in sharing folders between virtual machines and your Mac. Having shared folders enables the changes made in the virtual session to be retained on your Mac. It also discusses how easily you can share the environment with your colleagues and simplify onboarding, as new hires can be provided with pre-prepared developer machines ready, helping them to become superstars as soon as possible. 

Go and check it on our YouTube channel https://youtu.be/qoAnL07q6yQ