【发布时间】:2013-06-19 16:37:03
【问题描述】:
我正在调试模式下运行应用程序,但我注意到几秒钟后,“System.UnauthorizedAccessException”类型的第一次机会异常被频繁且连续地抛出。虽然这并没有阻止我的应用程序运行,但我仍然想了解发生了什么并解决问题以帮助提高性能。
事实证明,异常是“访问路径 'XXX.dll' 被拒绝”。这让我感到困惑,因为当应用程序尝试访问 DLL 时它必须来自 Windows,它必须已经成功完成。
多次运行应用程序会导致错误发生在不同的 DLL 上,因此应用程序中发生这种情况的确切位置不是确定性的或可重复的。
有没有办法解决这个问题? 为什么会这样?
【问题讨论】:
-
我不知道如何解决它——它可能完全是良性的——但你可以让 Visual Studio 在它发生时停止,这样你就可以通过为所有异常类型选择“抛出”来查看调用堆栈在
Debug | Exceptions.... -
@galford13x:发生这种情况后您的应用程序会崩溃吗?
-
@500 - 这正是我所做的,启用 Break on Thrown 以便我可以分析它。从功能上看,它确实是良性的。但我想了解是什么原因造成的,以便在出现性能问题时解决问题。
-
@Dominic - 它不会崩溃,它会按照我预期的功能运行。尽管就性能问题而言,我还没有进行过分析。我的应用程序对时间敏感,因此可能会产生一些影响。
-
发生这种情况时调用堆栈是什么样的?
标签: c# .net visual-studio debugging