测试应用程序在后退按钮上失败... Windows Phone 7

时间:2011-04-17 03:42:20

标签: windows-phone-7

好的,这个问题源于这个问题: wp7: App failing! Can not figure out where?

我认为它已得到纠正,但仍然失败了。我删除了所有app.xaml.cs代码,当单击搜索按钮并立即按下后退按钮时,它仍然崩溃。

所以......我决定看看我是否可以用一个新的测试应用复制这个问题。基本上我已经使用默认的主视图模型创建了一个基本的透视应用程序。我的代码都不存在......

我按下搜索按钮,然后立即按下后退按钮,然后看到......发生了同样的事情....它崩溃了应用程序,模拟器显示一个空白屏幕,调试器停止了!

所以......这让我相信我在模拟器中发现了一个错误(我发现这很难相信)......或者,我的Studio环境可能已损坏(我希望它不是)。

我不知道该去哪儿。我不知道错误是什么,它阻止我的应用程序在市场上被接受。

有没有人有任何想法?

我屏幕截图显示了我所看到的内容:

请注意,前3个搜索/返回组合工作,因为允许显示搜索屏幕中的框。但是,最后2个搜索/返回组合不起作用,因为您将看到不允许显示这些框...

http://www.youtube.com/watch?v=XVht3OtBGaI

我从Microsoft获得的错误报告:

Comments: The application reactivate after deactivation and terminates unexpectedly.
Steps to reproduce:
1) Launch the application.
2) Select a vehicle.
3) Press the device's "Start" button.
4) Select the device's "Back" button.
5) Observe the application terminates unexpectedly and does not reactive the application.
This error is reproducible 8 out of 10 times.

来自其他应用程序的其他错误报告:

Comments: The application terminates rather than resuming when the user attempts to return from a Search.
Steps to reproduce:
1. Launch the application
2. Select the Add + button
3. Press the Search button
4. Press the Back button
5. Observe the application terminates after a few seconds.

我注意到了:

在调试器中发生以下情况时:

The thread '<No Name>' (0xd1b0092) has exited with code 0 (0x0).
The thread '<No Name>' (0xd6900ba) has exited with code 0 (0x0).

该项目并未如所描述的那样失败(100%的时间)。但是,如果我在此之前单击后退按钮,则应用程序将失败(100%的时间)。

更新#1:App.xaml.cs

// Code to execute when the application is launching (eg, from Start)
// This code will not execute when the application is reactivated
private void Application_Launching(object sender, LaunchingEventArgs e)
{
}

// Code to execute when the application is activated (brought to foreground)
// This code will not execute when the application is first launched
private void Application_Activated(object sender, ActivatedEventArgs e)
{
    // Ensure that application state is restored appropriately
    if (!App.ViewModel.IsDataLoaded)
    {
        App.ViewModel.LoadData();
    }
}

// Code to execute when the application is deactivated (sent to background)
// This code will not execute when the application is closing
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
}

// Code to execute when the application is closing (eg, user hit Back)
// This code will not execute when the application is deactivated
private void Application_Closing(object sender, ClosingEventArgs e)
{
    // Ensure that required application state is persisted here.
}

2 个答案:

答案 0 :(得分:1)

好吧,经过几个小时的撞击我的桌子后,我发现某些机器上的模拟器遇到了我所看到的相同问题。

所以...我做的第一件事就是将我的所有函数包装在Try / Catch块中......即使是最小的函数也不能错误。然后我边加载应用程序,看看我是否能让它崩溃。当我觉得我在手机上对它进行了充分测试时,我重新提交了应用程序。在测试笔记部分,我要求他们在设备而不是模拟器上进行测试。我从来没有听说过他们是否这样做过,但他们通过我的应用程序,所以我猜他们确实这样做了。

感谢@Praetorian和@Matt Lacey以及@willmel和其他任何人为我看过这个问题。我很感激!

答案 1 :(得分:0)

我还注意到,如果你创建一个新的wp7应用程序,这也会发生。 创建一个新的应用程序启动它。 启动后,按“开始”按钮,然后立即单击“后退”按钮。它现在说Resuming ..但没有任何反应。 当您尝试重新启动应用时,您只能进入启动画面。

但我发现如果你使用Build = Release构建应用程序并且不调试应用程序(在设备上运行它),则不会发生这种情况。

你能否检查一下你是否也是这种情况..如果是这样他们也有麻烦