WP7 App在部署时退出

时间:2010-12-02 11:46:41

标签: silverlight windows-phone-7 bing-maps

我一直在开发一个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();
        }
    }

因为显示有关Horizo​​ntalAccuracy的消息以及从反向地理编码获得的地址。

然而,地图只是变白了(好像它即将开始以位置为中心),然后应用退出。

通过Visual Studio 2010调试应用程序时,两种设备都能正常工作。

我能想到的是,虽然连接到我的计算机,设备通过USB线使用互联网连接,但断开时使用的是蜂窝数据。但是我想不出为什么会让它退出。

由于两者都在调试时如何继续追踪问题?

更新

我已根据建议实施了全局错误处理,并收到以下错误: 凭据在无效的2台设备上无效或未指定。但是,如上所述,仅在部署时,而不是在通过Visual Studio运行时。

2 个答案:

答案 0 :(得分:2)

您是否拥有全局异常处理程序,至少对于UI线程?您可能希望包含一个在发布版本中显示礼貌错误消息的内容,以及调试版本的异常详细信息。

这无济于事:

  • 在其他线程上抛出异常
  • 不可恢复的异常,例如堆栈溢出错误

如果您从VS2010 启动但没有调试 - 那么它仍在使用USB连接 - 它是否仍会崩溃?

答案 1 :(得分:0)

Bing Maps凭据有什么问题?

 <my:Map 
        Margin="6"
        CredentialsProvider="{StaticResource BingCredentials}">

等。