如何在Linux上的.Net Core中捕获双页错误(内存映射文件读取错误)?

问题描述 投票:2回答:1

我在Docker中的Linux上随机读取.NetCore中的文件。为了更好的速度,我有文件内存映射,所以实际读取只是Span.CopyTo。但是当IO出现故障时会发生什么,整个应用程序都会崩溃,但我想抓住这个错误并可能稍后重试。另一方面,我想只在它发生在特定的Span.CopyTo内时才捕获此错误,因此全局SIGSEGV处理程序不能只忽略错误并继续或至少不总是。

失败的可能性可能更高,因为它实际上在云(Azure)中运行,而磁盘不是本地的(因此网络故障也可能导致此崩溃)。

linux .net-core memory-mapped-files
1个回答
0
投票

应用程序也使用ChakraCore和ChakraCore的信号处理程序打破了SIGSEGV的DotNetCore信号处理程序,它崩溃了应用程序,而不是抛出AccessViolationException。

© www.soinside.com 2019 - 2024. All rights reserved.