"尝试读取或写入受保护的内存。这通常指示其他内存已损坏。"

C#下利用ffmpeg频繁解码,导致 System.AccessViolationException ,且无法捕捉而使软件经常崩溃。

ffmpeg的原理无法了解,不过现有二法捕捉此异常:

法一:添加HandleProcessCorruptedStateExceptionsAttribute

[HandleProcessCorruptedStateExceptions]
void DoSomething()
{
    try
    {
        AccessViolationException发生的地方;
    }
    catch (AccessViolationException e)
    {
        //--- 捕捉可能
    }
}
法二:在配置文件中修改


   
      enabled="true" />
   

参考链接AccessViolationExceptionを捕捉できるようにする

你可能感兴趣的:(WPF,C#,异常处理)