«Это приложение запросило среду выполнения прекратить его необычным способом». - PullRequest
7 голосов
/ 26 марта 2011

Моя программа Qt (g ++ 4.4.0) выдает мне ошибку библиотеки времени выполнения Microsoft Visual C ++ «Это приложение запросило среду выполнения, чтобы завершить ее необычным способом», когда я закрываю ее. Но когда я запускаю его в отладчике, я не получаю сообщение об ошибке. Кто-нибудь знает способ получить некоторую информацию о катастрофе? В окне сообщения просто есть кнопка ОК.

Отредактировано, чтобы добавить: Следуя совету Виммеля, я подключился к отладчику. Остались живыми два потока, с ThreadID 1 и 3. Стеки выглядят так:

Level Function              File                           Line Address
0     VTagOutput            C:\Windows\syswow64\user32.dll 0    0x7529438d  
1     VTagOutput            C:\Windows\syswow64\user32.dll 0    0x7529438d  
2     USER32!EmptyClipboard C:\Windows\syswow64\user32.dll 0    0x752a2674  
3     ??                                                   0

Level Function                                    File                          Line Address
0     ntdll!LdrFindResource_U                     C:\Windows\SysWOW64\ntdll.dll 0   0x76f5000d  
1     ntdll!LdrSetAppCompatDllRedirectionCallback C:\Windows\SysWOW64\ntdll.dll 0   0x76fdfabe  
2     ??                                                                        0    0x7b9609b5 
3     ??                                                                        0

Возможно, во второй теме отображается сообщение об ошибке? Первый немного странный: два верхних ряда идентичны. В моем коде нет ничего, что имеет TagOutput в названии, и Qt, насколько я могу судить, также не имеет.

Ответы [ 2 ]

3 голосов
/ 27 марта 2011

Единственный раз, когда я видел это сообщение об ошибке с Qt, было, когда я впервые попытался настроить среду разработки Qt и установил несколько различных версий MinGW.Казалось, что мой исполняемый файл находил и загружал версию mingwm10.dll, которая не соответствовала всему остальному.Я выследил и удалил все версии этого dll, кроме той, которую я хотел, и проблема исчезла.

0 голосов
/ 24 марта 2013

Используйте procmon.exe и фильтр для имени процесса и доступа к файлу, чтобы найти отсутствующие зависимости.

У меня была такая же проблема с Qt 5.0.1.
Программа отсутствоваланекоторые библиотеки из фреймворка Qt.
Я нашел их в каталоге:

<QTINSTALLDIR>\Qt5.0.1\5.0.1\mingw47_32\plugins
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...