我决定对应用程序进行一些测试,而不通过VS 2013调试器进行测试.现在,由于某种原因,应用程序在它进入第一个屏幕之前崩溃.我没有任何例外或消息(我正在使用Raygun进行错误记录).
我正在使用异步方法(一些异步void,其他异步任务),但所有这些工作在调试时.
主要的帮助,是得到某种错误信息.我已经减少了对代码段的评论,但最终这让我无处可寻,因为我觉得我发现了这个问题,我进一步陷入了代码中.
有一点,我发现调用一个问题:ListView.UpdateLayout().我评论了这一点,应用程序将正常运行没有崩溃.然后我再次对一些代码进行了评论,现在再次崩溃.
如果有人知道如何从手机中获取例外,或者有人曾经遇到过这个问题,任何帮助都将不胜感激.我可以提供所需的任何进一步信息.
更新:
我想我把这个问题缩小到了sqlite.NET.我正在使用sqlite.Net for WinRT以及一个名为sqliteNetExtensions的扩展.特别的声明是
DataContext.Context.Connection.Table<Message>().Where(m => m.ChannelID == channelID && m.ChannelID.Contains("C")).ToList();
如果我评论这个,应用程序运行没有问题.这个LINQ语句最多返回100条记录.我不会认为100条记录的SELECT语句可能导致应用程序崩溃,但似乎是罪魁祸首.关于如何优化sqlite.NET的任何想法?
更新2:
终于搞定了!根本不是sqlite.这根本不是我的代码.这是我的手机我正在运行诺基亚Lumia图标.几个星期之后,我已经安装了Rudy Huyn的Lockscreen Beta.当我卸载它时,它引起了一些问题,但它与我的应用程序无关.今天,我的业务合作伙伴在手机上安装了我的应用程序,他拥有相同的型号手机.该应用程序的速度大约是50倍,没有崩溃.我从工厂恢复了我的手机,而且看起来完美无缺.所以,专业提示:不要安装LOCKSCREEN BETA由RUDY HUYN!