垃圾收集期间未处理的异常

时间:2016-04-02 05:07:40

标签: c# .net wpf dll unhandled

语言:C#

运行时:.NET 4客户端

问题:在大约14分钟时发生垃圾收集(如诊断工具中所示),此时紧接着是一个例外,其中包含以下信息:

  

Test.exe中0x163BA480处抛出异常:0xC0000005:Access   违规执行地点0x163BA480。

我的程序引用了第三方程序,目的是通过插件添加其他功能。

我的程序由程序集组成:

  1. 我的主程序编译.cs文件中的附加程序集,在WPF窗口中显示它们的名称。
  2. 简单处理日志记录的辅助项目,是同一解决方案的一部分。
  3. 另一个负责加载插件的项目,是同一解决方案的一部分。
  4. 任意数量的已加载的插件程序集。
  5. 所有程序集都加载到同一个Appdomain中。最终这将被更改,以便每个程序集都在它自己的Appdomain中。

    在这种特殊情况下,插件组件是一个简单的类定义,没有其他正在执行的代码/方法,即:

    using System;
    using Interface;
    namespace TestAddin
    {
        public class TestAddin
        {
        }
    }
    

    输出:

    程序成功运行,加载程序集并显示它们。

    然后程序执行第三方程序(通过引用的dll中的Run()方法)

    程序成功执行了大约14分钟,直到前面提到的异常发生。

    我不知道如何调试这个,我怎么知道发生异常的地方?我编写的三个项目都没有使用非托管代码,引用的程序集在C#中运行,我找不到使用dotpeek的非托管代码。

    如果需要任何进一步的信息,我将非常感谢任何帮助。我很乐意提供它。

0 个答案:

没有答案