【发布时间】:2015-09-01 18:09:37
【问题描述】:
当我从 Visual Studio 运行项目时,经过一段时间的工作后,我看到 mscorlib.dll 中发生了“System.AccessViolationException”。 但是在源选项卡上只有“源不可用”。我知道我没有 mscorlib.dll 的来源,但我怎样才能找到我的项目或我的库的哪一部分导致了这个问题?调用堆栈也只有一行。是否有可能找到至少一小部分堆栈跟踪?现在从外面看,这一切看起来就像 mscorlib 本身发出了一些调用并在它上面崩溃了(笑)。 不知道该怎么办,我讨厌这样的错误,因为它们发生在下班后 2 - 3 小时内,并且似乎它们来自 CefSharp 绑定(嵌入 Chromium),这是一个大型项目,所以我需要一些方法来挖掘代码(全部用调试信息编译)。
PS:当不是从 VS 运行时,应用程序窗口完全冻结(甚至没有下降,而是冻结),AppDomain.CurrentDomain.UnhandledException 不会捕获此异常(如预期).NET 4.5,VS2013
【问题讨论】:
-
你必须启用非托管调试才能看到一些东西。嗯,CefSharp,别再看了。您可以诊断出此类内存损坏的几率非常低。
标签: c# access-violation