在WPF中调试未处理的异常。
在WPF中调试未处理的异常。
我有一个复杂的WPF应用程序,用于某种PA系统。它会定期显示视频,有时会播放音乐和不同的文本消息。
结构非常直观。有一个服务器有两个方法。SetMessage("String")和GetMessage("String")。
客户端每5秒通过WCF上的HTTP绑定连接到服务器,并调用GetMessage()。管理应用程序连接到服务器并调用SetMessage()。
在App.xml.cs中,我有一个处理CurrentDomain_UnhandledException、OnDispatcherUnhandledException、TaskScheduler.UnobservedTaskException和application.Current.DispatcherUnhnandledException的处理程序。所有这些处理程序都应该记录日志并继续操作。
应用程序中有一个页面使用Media元素播放短视频。有时在播放视频后,我的应用程序崩溃。
事件类型:clr20r3 P1:Client.exe P2:0.0.2.0 P3:5226863e P3:mscorlib P5:4.0.0.0 P6:4ba1da6f P7:219 P8:10 P9:system.invalidoperaionexception
现在这很好。但问题是:
- 尽管有4个不同的异常处理程序,我仍然收到异常。
- 我无法在客户端计算机上进行调试。
- 错误是随机的,但发生在我播放视频之后。
- 停止和开始视频的代码在Dispatcher.Invoke(new Action)中。
- 在停止视频之前,我可能只是离开该页面并切换到另一个页面。
看起来我只是在违反某个访问权限,并尝试从另一个线程更改代码中的某些内容。
有趣的是,我尝试使用ILDasm查找P7:219,但代码中没有这个。
有没有办法捕获这个该死的异常?
(实际上,我花了大约30分钟在这里寻找任何类似的问题,但所有的解决方案都已应用在我的代码中)
谢谢帮助。