我一直在开发一个WP7应用程序,其中包含Bing Maps的“Locate Me”样式功能。
我有一个早期原型WP7设备,我可以部署到这没问题。我的同事中有2个拥有零售WP7设备,在运行应用程序时,它总是会在某个时刻退出。
我认为崩溃发生在这部分代码中:
void UpdateMap(GeoPosition<GeoCoordinate> position, double zoom)
{
_foundLocation = position;
mapLocation.Center = position.Location;
mapLocation.ZoomLevel = zoom;
txtStatus.Text = "Found you within " + position.Location.HorizontalAccuracy.ToString(AccuracyFormat) + " meters";
//Display address to user
DisplayLocationAddress(position.Location.Latitude, position.Location.Longitude);
//Stop the watcher if horizontal accuracy is high enough for requirements to converse battery power.
if (watcher != null && watcher.Position.Location.HorizontalAccuracy <= DesiredAccuracy)
{
watcher.Stop();
}
}
因为显示有关HorizontalAccuracy的消息以及从反向地理编码获得的地址。
然而,地图只是变白了(好像它即将开始以位置为中心),然后应用退出。
通过Visual Studio 2010调试应用程序时,两种设备都能正常工作。
我能想到的是,虽然连接到我的计算机,设备通过USB线使用互联网连接,但断开时使用的是蜂窝数据。但是我想不出为什么会让它退出。
由于两者都在调试时如何继续追踪问题?
更新
我已根据建议实施了全局错误处理,并收到以下错误: 凭据在无效的2台设备上无效或未指定。但是,如上所述,仅在部署时,而不是在通过Visual Studio运行时。
答案 0 :(得分:2)
您是否拥有全局异常处理程序,至少对于UI线程?您可能希望包含一个在发布版本中显示礼貌错误消息的内容,以及调试版本的异常详细信息。
这无济于事:
如果您从VS2010 启动但没有调试 - 那么它仍在使用USB连接 - 它是否仍会崩溃?
答案 1 :(得分:0)
Bing Maps凭据有什么问题?
<my:Map
Margin="6"
CredentialsProvider="{StaticResource BingCredentials}">
等。