【发布时间】:2014-04-22 00:26:41
【问题描述】:
使用 c#、Visual Studio 2013、Windows Store 应用程序
解释有点长
创建一些适用于 JSON 存储数据的简单 Windows 应用商店应用。数据量增加后,我开始收到一条消息Unhandled win32 exception occured in AppName [procId]. - 请参见下图:
我尝试减少 JSON 文件中存储的数据量,但在调试期间下班一段时间后,我再次收到此消息。所以情况 - 如果我有很多数据 - 我可以在应用程序中执行很少的操作(很少意味着 5)并得到这个异常,如果我有最少的数据量我可以使用应用程序多一点(平均 12-17 个不同手术)。操作方式——读取文件、保存、加载页面等
我谷歌搜索了一下,发现了几个可能的原因:
-
我必须在 PC 上设置 DEP,执行以下步骤:
- 右键单击“我的电脑”。然后选择“属性”。
- 选择“高级”选项卡。
- 为“性能”选择“设置”。
- 选择“数据执行保护”选项卡。
- 选择“仅对基本的 Windows 程序和服务启用 DEP”选项。如果已选择此选项,请单击“确定”,然后再次单击“确定”。
- 重新启动计算机。
试试 - 没用
- 在我的 VISUAL STUDIO 中检查并启用即时调试
试试 - 没用
- 检查 VS 可以捕获什么类型的异常 - 全选:
试试 - 没用
找到下一个:
在 .即时调试此异常失败并出现以下错误:登录的用户无权调试崩溃的应用程序。 此消息表明即时调试失败,因为您没有适当的访问权限。
所以,意思是您没有适当的访问权限。
尝试以管理员权限启动我的应用程序:
试试 - 没用
- 还看了很多here的帖子。
发现this 和this MSDN 的帖子很有用。尝试在我的应用中添加一些代码:
public MainPage()
{
this.InitializeComponent();
this.navigationHelper = new NavigationHelper(this);
this.navigationHelper.LoadState += navigationHelper_LoadState;
this.navigationHelper.SaveState += navigationHelper_SaveState;
TimeBinding();
Application.Current.UnhandledException += new UnhandledExceptionEventHandler(MyHandler);
}
static void MyHandler(object sender, UnhandledExceptionEventArgs args)
{
string e = args.Message.ToString();
}
但是什么都没抓到……
所以,试试 - 没用
问题:
- 为什么我收到此消息以及我未描述的哪些可能原因可能是导致
"Unhandled win32 exception occured in AppName [procId]."等异常的根本原因? - 我正确理解
UnhandledException的用法吗?也许我错了,所以我无法捕获所需的异常(我只是在为 .NET 学习)?
【问题讨论】:
标签: c# .net exception-handling windows-store-apps visual-studio-2013