Flile分析崩溃与Windows Phone 7

Mac*_*Mac 6 windows-phone-7 flurry

我已将Flurry(http://www.flurry.com/)整合到我的手机7应用程序中.所需的唯一代码是应用程序启动中的这一行

FlurryWP7SDK.Api.StartSession(ApiKeyValue);
Run Code Online (Sandbox Code Playgroud)

但是,只要该行被命中,应用程序就会发生KeyNotFoundException崩溃.堆栈跟踪包含在下面.它似乎是查询隔离的存储设置,并且当密钥不存在时失败.

有没有人有这个错误的经验,甚至成功地将乱舞集成到Phone 7应用程序?

at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(String key)
at System.IO.IsolatedStorage.IsolatedStorageSettings.get_Item(String key)
at A.ca98fb38190f0d5cad84c67a779d17229.c204dba68825403c905efd7bfd067b17b(String ce0360de492f1f363775feaf6d6a8ced5, Object c8d4be677f7ee63f6756e13f285072523)
at A.c3f1105d518a239d73e2236200494de25.set_cfca54db015a16ab23de44b4d5c65e9a3(String c8d4be677f7ee63f6756e13f285072523)
at FlurryWP7SDK.Api.StartSession(String apiKey)
at AppName.App.Application_Launching(Object sender, LaunchingEventArgs e)
at Microsoft.Phone.Shell.PhoneApplicationService.FireLaunching()
at Microsoft.Phone.Execution.NativeEmInterop.FireOnLaunching()
Run Code Online (Sandbox Code Playgroud)

编辑

在与Flurry支持讨论之后,似乎Flurry代码捕获了KeyNotFoundException.但是,如果在抛出异常时要中断调试器设置,则无论如何都会进入调试器.然后继续执行将起作用,因为Flurry捕获并处理了异常.

我无法验证这是否是解决方案,因为我不再能够访问指示错误的开发环境,但它似乎是一个可能的解决方案.

Ant*_*y W 2

我为 Flurry 工作。我们在 Windows 7 平台上有许多成功的部署。您和 Buju 可能正在遇到一个我们之前没有注意到的新问题。请发送电子邮件至 winmosupport@flurry.com,因为诊断可能涉及讨论帐户特定详细信息。一旦我们确定了根本原因,我们就可以发回此帖子,以便社区从我们的调查中受益。感谢您与 Flurry 合作。

编辑

我只是想跟进 Mac 的评论,因为在调试过程中 KeyNotFoundException 可能会以两种方式表现出来。正如 Mac 所指出的,我们确实捕获了 KeyNotFoundException,但是,调试器首先会看到异常,然后我们才能在库中处理它。调试器的行为由“调试”>“异常”中的设置决定。

如果选中 Thrown 下的复选框,程序将停止并输出上面的堆栈跟踪。如果未选中 Thrown 下的复选框,输出将生成如下错误:

mscorlib.dll 中发生了“System.Collections.Generic.KeyNotFoundException”类型的第一次机会异常(这是 Buju 收到的消息)

程序将继续跟踪此消息,因为它只是作为程序中某处发生异常的通知。有关第一次机会例外的更多信息,请参阅以下文章:

什么是第一次机会例外 - http://blogs.msdn.com/b/davidklinems/archive/2005/07/12/438061.aspx

如何处理(禁用)第一次机会报告 - http://www.helixoft.com/blog/archives/24