Служба c ++ останавливается с ошибкой «это приложение запросило среду выполнения прекратить его необычным способом» - PullRequest
0 голосов
/ 06 апреля 2011

У меня есть c ++ NTservice, доступ к которому получают модули SAP через вызовы rfc. Теперь эта служба останавливается с сообщением, что «это приложение запросило среду выполнения прекратить его необычным способом», а затем показывает некоторую ошибку сценария IE, которая указывает на URL «res: // C: \ WINDOWS \ System32 \ mmcndmgr.dll /views.htm "- я получаю эту ошибку очень редко и неожиданно.

Понятия не имею, почему возникает эта ошибка, пожалуйста, кто-нибудь может подсказать мне детали и как исправить ее, если это возможно

(Windows XP, служба создана в MSVC 2005)

Спасибо, Анил

Ответы [ 2 ]

0 голосов
/ 06 апреля 2011

Это сообщение об ошибке (по крайней мере, обычно) означает, что у вас есть неперехваченное исключение.Вы можете начать с добавления try / catch(std::exception const &e) / catch(...) к вашему ServiceMain, в попытке перехватить исключение и, если оно является производным от std::exception, распечатать его what(), чтобы увидеть, что у него естьсказать для себя ...

0 голосов
/ 06 апреля 2011

Это очень бесполезное сообщение, которое отображается при сбое вашего исполняемого файла. Почти все может быть не так.

Запустите ваш исполняемый файл через отладчик и дождитесь возникновения проблемы. Затем вы можете попытаться узнать больше информации об этом.

В частности, я бы проверил документацию службы и убедился, что ваши модули SAP правильно используют вызовы RFC.

...