Debugging WP7 Isolated Storage Files

Like the XBox the Windows Phone has 'isolated storage'. Isolated storage is basically an area on disk (probably a folder internally) that is associated with an application. As a developer you can't step outside this sandbox and any data written to this location will be deleted when the associated application is uninstalled. How to write to isolated storage is described on msdn. Writing to isolated storage is all well and good - but how do you see/debug what was written?

In practice these file written to isolated storage reside some where inside the file system of the Windows Phone 7 emulator. Microsoft provides a command line tool to copy these files somewhere were you can read them on your desktop PC. Full details can be found on msdn.

 

Synopsis - to copy files to C:/WP7Dump overwriting any existing files in C:/WP7Dump from the 512Mb emulator

  • Ensure the Windows Phone 7 emulator is running in the background
  • Make sure your application is deployed to the emulator
  • Make sure your application has been run at least once since the emulator was last closed (so any files are there)
  • Make sure your application has been closed (but leave the enmulator running)
  • Open up WMAppManifest.xml (Under the properties folder of your application in Visual Studio)
    • Copy the ProductID GUID from the App tag (child of the deployment tag)
  • Start, Run, cmd, OK (or WinKey + R), cmd, OK
  • "C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool\ISETool.exe" ts xd yourapplicationProductGUID C:/WP7Dump
  • Browse to C:/WP7Dump to find the files copied from Isolated storage

eg. If your application ProductGUID is<App xmlns="" ProductID="{12345768-9101-1121-3141-516171819202}" ... >

Then run:

 

"C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool\ISETool.exe" ts xd 12345768-9101-1121-3141-516171819202 C:/WP7Dump

 

 

There is also a GUI tool to examine files on codeplex. I could not get this tool to work - it appears to be designed for SilverLight applications (not XNA).