如何在Visual Studio Express 2012中调试一个看似没有任何错误的WP 8应用程序

本文关键字:一个 任何 错误 应用程序 WP Studio Visual Express 2012 调试 | 更新日期: 2023-09-27 18:03:07

可能是一个一般性的问题。我有一个应用程序,这是相当简单的,基本上是一个包装应用程序的网页。这个应用程序在WP8上崩溃了,它通常发生在你启动应用程序,然后回到主屏幕,按住后退键调出最近的应用程序视图,然后回到应用程序时。这个应用程序就这样被杀死了。

我想知道的是,在我遇到WP应用程序在WP7.5上崩溃的问题之前,我会从Visual Studio Express在手机上运行该应用程序,当应用程序崩溃时,我可以看到VSE中的错误和堆栈跟踪。但是我现在有错误,好像VSE甚至不知道应用程序已经终止。它仍然显示它正在运行。

我尝试的一件事是为onNavigatedTo事件添加事件处理程序,并在那里设置一个断点,看看我是否能在切换回它时捕获应用程序,然后从那里一步一步地做。但是当我这样做时,应用程序崩溃了,我从VSE得到的只是一条消息,说它没有绑定断点。

我也尝试了模拟器,希望它能给我更好的洞察力,但它与在手机上运行应用程序相同。所以现在我有一个在WP8上非常不稳定的应用程序(虽然在WP7.5上工作得很稳定),我不知道到底是什么出了问题。

所以我的问题是,如果有任何方法来获得更多的信息,如何以及为什么应用程序崩溃:)

如何在Visual Studio Express 2012中调试一个看似没有任何错误的WP 8应用程序

您还可以使用Windows的事件视图。

我有一个类似的问题(有时在运行和访问隔离存储时,应用程序只是在没有任何通知的情况下被杀死),事件视图提供了一些有用的信息。

我建议将调试输出(Debug.WriteLine)放在App.xaml.cs文件中的App_ActivatedApp_Closing methods中。还有RootFrame_NavigationFailedApplication_UnhandledException。所有这些功能都有可能在你返回应用程序并崩溃时运行。如果这没有帮助(你将在VS输出窗口中看不到任何输出),尝试在那里放置一些其他输出,比如同步写入隔离存储中的文件,或者激活一些启动器(比如电子邮件撰写任务,见这里)。此处的要点是在发生故障时执行一些其他活动。

你可以尝试的另一件事是在VSE中中断执行,当应用程序似乎已经终止。我是说,在调试器里按下暂停键。

相关文章: