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

来源:互联网 发布:java web投票系统 编辑:程序博客网 时间:2024/04/30 00:44

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

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

法一:添加HandleProcessCorruptedStateExceptionsAttribute

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

<configuration>   <runtime>      <legacyCorruptedStateExceptionsPolicy enabled="true" />   </runtime></configuration>

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

0 0