最近用FFmpeg處理視頻, 提示“”當代碼嘗試讀取或寫入無法訪問的記憶體“”,然後程式退出。已經設置全局異常也沒有捕獲到。 C#調用非托管方法程式容易奔潰,原因是非退托管代碼報的異常未能被捕獲到。記錄一下兩種解決方法: 一、使用配置文件相容以前代碼 為了與舊代碼相容,在app.config添加leg ...
最近用FFmpeg處理視頻, 提示“”當代碼嘗試讀取或寫入無法訪問的記憶體“”,然後程式退出。已經設置全局異常也沒有捕獲到。
C#調用非托管方法程式容易奔潰,原因是非退托管代碼報的異常未能被捕獲到。記錄一下兩種解決方法:
一、使用配置文件相容以前代碼
為了與舊代碼相容,在app.config添加legacyCorruptedStateExceptionsPolicy
元素。
同樣代碼在.Net2.0下麵正常,4.0程式就退出 。
二、方法添加特性
方法上面添加這個特性 [System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptions]
try catch就可以捕捉AccessViolationException異常。