查找System.AccessViolationException的跟踪

时间:2015-09-01 18:09:38

标签: c# access-violation

当我从Visual Studio运行项目时,经过一段时间的工作后,我看到了System.AccessViolationException'发生在mscorlib.dll中。 但是在源标签上只有"来源不可用"。我知道我没有mscorlib.dll的来源,但是如何才能找到我的项目或我的libs的哪个部分导致这个问题?调用堆栈也只有一行。是否有可能找到堆栈跟踪的至少一小部分?现在从外面来看,它看起来像mscorlib本身发出了一些电话并在它上面崩溃(笑)。 不知道该怎么做,我讨厌这样的错误,因为它们发生在工作后的2-3小时内,看起来它们来自CefSharp绑定(Chromium embedded),这是一个大项目,所以我需要一些方法来挖掘代码(全部用调试信息编译)。

PS:当不是从VS运行时,应用程序窗口完全冻结(甚至没有崩溃,但冻结),AppDomain.CurrentDomain.UnhandledException不会捕获此异常(如预期的那样).NET 4.5,VS2013

1 个答案:

答案 0 :(得分:0)

尝试在try-catch块中放置大块代码。然后,当您确定代码中的哪些块失败时,将此块拆分为较小的块,依此类推,直到您可以缩小到调用mscorlib.dll的代码中的确切行,从而导致访问冲突异常