Remote Debugging a Windows Store App on your Surface

This happened to me and I'm sure a lot of you guys will go through the same. I got my Surface today, a beautifull device where I will spend a lot of time and where I want to test my apps but...it seems that I can't because I can't install Visual Studio 2012 on this device. Unfortunately this is not 100% true. It's true that I can't install Visual Studio 2012 on my Surface but actually I don't need to. I just need to configure it for remote debugging. If you are using any other kind of device and you still want to do remote debugging you can also follow this tutorial.

This requires a few steps:

  1. Setting up the tools on Surface
  2. Configuring the Remote Debugger on Surface
  3. Lauching the App on the remote Debugger from the local machine

1. Setting up the tools on Surface

 In order to get the tools just follow this link and select the ARM version. After downloading this file just install it and you're done for the first step.

2. Configuring the Remote Debugger on Surface

 The first time you enter the Remote Debugger you will be requested to allow some firewall rules. Choose whatever fits your needs and then proceed.

In the Remote Debugger there are basically two things you have to care about: TCP/IP Port and Authentication. You can leave the default port. The authentication is what you have to worry about. By default the Authentication mode is "Windows Authentication" but you might want to disable it in some specific scenarios.

Windows Authentication in the Remote Debugger requires you to have the same account configured in both devices. In my case my laptop is domain-joined so I can't have the same account in both devices. This will work if you have your Microsoft account connected with both devices.

If this is not the case you should allow "No authentication" and check "Allow any user to debug".

Whatever your scenario may be if you follow these rules you are good to go.

3. Lauching the App on the remote Debugger from the local machine

Now just go to Visual Studio 2012, open the project that you want to debug and change the debugging options to "Remote Machine".

 

 The first time you make thins change you will see the "Remote Debugger Connections" wizard. If everything went well on the previous steps you will immediately find your Surface device in the "My Subnet" tab. Just select it and you have done all the configurations needed in order to do Remote Debugging.

The final step is just to press F5 in order to run the App and you should see the App running on your Surface. Also notice that a connection was established to the Remote Debugger console. The first time you connect to your Surface you will have to get a developer account for the Surface device in order to unlock it for App testing. Just fill in your Microsoft Account and that's it.

Now you can test your Apps in your new Surface. Hope this was helpfull!