Dziwne zachowanie kompilatora
Używam IDE Dev-C++ 4.9.9.2. Środowisko to jako domyślnego kompilatora używa g++ i innych narzędzi GNU w tym gdb.
Opcje generowania informacji dla debugera mam domyślnie wyłączoną.
Kilka razy zdarzyło mi się, że skompilowałem cały projekt (aplikacja okienkowa) uruchamiam - program działa. Zamykam program, okno znika i pojawia się błąd "wystąpił problem z aplikacją xxxx.exe i zostanie ona zamknięta". Takie komunikaty pojawiają się zwykle po próbie odczytu/zapisu niewłaściwego obszaru pamięci (np obiekt nie został utworzony, z została wywołana metoda obiektu; nie otworzono pliku a dane są odczytywane). Kolejna kompilacja i problem nie znika. Po takim czymś włączam opcje generowania informacji dla debugera i kompiluje projekt. Po uruchomieniu debugera program działa bezbłędnie. Kompilacja bez opcji -ggdb - Program działa bezbłędnie. Co może być przyczyną tego, że g++ generuje błędny kod?
"a imię jego będzie czterdzieści i cztery"
A. Mickiewicz Dziady cz. III