Когда в Windows 7 я запускаю консольную программу, которая должна аварийно завершить работу, у меня возникают следующие случаи:
- Если я дважды щелкну по нему, произойдет сбой, и откроется всплывающее диалоговое окно « Сбой программы».
- Если я запускаю его через консоль DOS, происходит сбой и появляется всплывающее диалоговое окно « Сбой программы»
- Если я запускаю его через консоль Cygwin, он молча вылетает. Нет диалогового окна
Обратите внимание, что в Windows XP все работает как положено (открывается всплывающее окно ...), и я могу отлаживать сбойную программу.
Это ошибка Cygwin в Windows 7? Проблема конфигурации?
Разные данные
- Мой Cygwin - 1.7.5, но он был воспроизведен с Cygwin 1.7.7.
- Он работает на WinXP, но не работает на Cygwin на Windows 7 (32 или 64-битной)
- Диалог интересен для целей разработки и отладки.
Я написал следующую программу на C++ для Visual Studio 2008 в режиме отладки (32 или 64 бита имеют одинаковый результат):
#include <cstdio>
#include <windows.h>
int main()
{
printf("It should crash now...") ;
::DebugBreak() ;
return 0 ;
}
::DebugBreak()
был заменен на int * p = NULL ; *p = 42 ;
(который должен произойти сбой с исключением нарушения прав доступа), с точно ошибочными результатами на Cygwin.
Спасибо !