Предотвращение диалога об ошибках Windows для консольного приложения - PullRequest
2 голосов
/ 03 января 2012

У меня есть служба .NET, которая отслеживает расположение общих окон для консольных приложений, написанных на Фортране, запускает их, отслеживает STDOUT и STDERR и копирует выходные данные обратно в общее местоположение, где они обрабатываются другими службами.Несколько экземпляров записали вывод о том, что они завершаются, затем приложение оказалось заблокированным (оно никогда не прекращалось).Я запустил приложение, которое не удалось с тем же входом на моем локальном компьютере, и обнаружил, что произошла ошибка повреждения памяти, вызванная, я предполагаю, попыткой освободить одну и ту же память дважды.Диалоговое окно ошибки Windows был отображен.Я определил, что, несмотря на то, что моя служба выполняла эти консольные приложения как приложения без окон, когда ошибка возникла в консольном приложении на Фортране, она продолжала «работать», потому что не было ни одного пользователя, который мог бы нажать на диалоговое окно.

ИспользованиеSystem.Diagnostics.Process, есть ли способ предотвратить диалог ошибки Windows?Есть ли способ предотвратить это без внесения глобальных изменений в реестр?Я не хочу отключать это поведение глобально.

Все, что я мог найти, прибегая к помощи этой проблемы, это то, что пользователь либо 1) должен написать соответствующую обработку ошибок (что не может быть сделано в коде Фортрана).Я не являюсь владельцем) или внесу изменения в реестр (что я считаю неправильным, поскольку не контролирую, как другие пользователи используют сервер).

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