Как отследить ошибку двойной страницы (ошибка чтения файла с отображением в памяти) в .NetCore в Linux? - PullRequest
0 голосов
/ 14 февраля 2019

Я случайно читаю файлы в .NetCore в Linux в Docker.Для лучшей скорости я сопоставил файловую память, поэтому реальное чтение - это просто Span.CopyTo.Но что происходит при сбое ввода-вывода, происходит сбой всего приложения, но я бы хотел уловить эту ошибку и, возможно, повторить попытку позже.С другой стороны, я хочу поймать эту ошибку только тогда, когда она происходит внутри определенного Span.CopyTo, поэтому глобальный обработчик SIGSEGV не может просто игнорировать ошибку и продолжать или, по крайней мере, не всегда.

Вероятность сбоя, вероятно, выше, потому чтона самом деле он работает в облаке (Azure), а диск не является локальным (поэтому сбой сети может также привести к этой аварии).

1 Ответ

0 голосов
/ 02 марта 2019

Приложение также использовало ChakraCore и обработчик сигналов ChakraCore, сломал обработчик сигналов DotNetCore для SIGSEGV, который вместо приложения AccessViolationException вызывал сбой приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...