Exrin Inspector Preview

Please Note: Exrin is no longer actively developed.

The Exrin Inspector is a way to inspect your Exrin application, by being able to track its visual state over time. More than just the Visual State will tracked in the future, but we all need to start somewhere. The Exrin Inspector can only be run on a Windows PC at the moment. Mac support may come in the future. You will need to be using Exrin 2.0.0 or above to use the Inspector.


Please be mindful that you should remove the Exrin Inspector, before deploying to production.

In your Exrin.Framework.App.Init, you will first need to enable StateTracking.

Exrin.Framework.App.Init(new PlatformOptions() { Platform = Device.RuntimePlatform, StateTracking = true });

Next, you will need to install the Exrin.Inspector nuget package.

Install-Package Exrin.Inspector -Pre

Then you will need to initialize the Inspector, by placing this code in your App.xaml.cs.

Task.Run(() => inspector.Init("", 8888)); // Replace IP and Port as applicable.

Now, download the Exrin Inspector application. This is just a zip, with an executable inside. Just extract, and run ExrinInspector.exe.

Connection To Emulators

If you are using an emulator, you may need to perform some additional steps, to connect. For example, if you are using Android, you will need to perform these steps.

Ensure you use this IP address, when initializing the Exrin Inspector.

When your emulator is running, perform these commands.

telnet localhost 5554

// You will be shown instructions on screen about this.
auth <authtoken> 

// Local Port to Emulator Port
redir add tcp:8888:8888

Once setup, you can now use these settings to connect to your app.

IP Address:
Port: 8888

Visual State Tracking

Once you are connected, you can press the Refresh button and it will retrieve the entire VisualState of the current page loaded in your Xamarin App.

This includes current and past VisualState of each property.

Two views are given. The first one that shows each property, and if expanded, all it’s view changes over time. The second window shows all the changes, in chronological order that they happened.


It currently only shows value or string types. Other property types will be shown as blank. If the connection is temporarily lost, you will need to manually reconnect, to continue.

One Comment