Remote debugging disabled by default

Friday, April 4, 2014

The Windows Phone 8.1 SDK resolves a rather annoying network issue with Windows Phone emulators. The previous 8.0 SDK registered a WP8 emulator as separate network device with its own IP address. This forced XAML Spy to use remote debugging to have apps running in the WP8 emulator connect to the XAML Spy service. Remote debugging is a feature that allows XAML apps running on (physical) remote devices to connect to the XAML Spy service running on the local dev box. For remote debugging to work correctly the firewall needs to be configured to allow inbound TCP connections.

While remote debugging works fine, it should not be required when debugging WP apps in an emulator on a single dev box. Additionally, there are network configurations preventing untrusted emulators to connect to the trusted localhost (IPSec requirements).

Luckily this is now a thing of the past. The good news is that the new Windows Phone 8.1 emulators no longer use their own IP address. Remote debugging is no longer required for Windows Phone apps when running in a WP8.1 emulator. And that’s why as of the XAML Spy April 2014 Update the default configuration of XAML Spy has remote debugging disabled. Also, while the installer still allows you to configure the firewall automatically, the default setting is to leave the firewall untouched.

By turning off remote debugging and leaving the firewall intact there are fewer security risks. The default configuration of XAML Spy results in a reduced attack surface. There are scenarios where it makes perfect sense to enable remote debugging, and XAML Spy still fully supports this feature.

To learn more about remote debugging, see the online documentation.