| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > CStdioFile,WriteString, NTDLL.DLL, AccessViolation |
| Автор: lv151 24.7.2009, 14:50 |
| Пишу в файл с помощью CStdioFile+WriteString. В дэбаг версии всё ок. В релизе при попытке WriteString вылазит: Unhandled exception in .... (NTDLL.DLL):0000..5: Access Violation. VC6. |
| Автор: azesmcar 24.7.2009, 14:57 |
| lv151 Это микрософт так задумал. Не любят они программистов, вот и ставят палки в колеса. Надо выбирать другую профессию. Ну ты хотя бы код покажи. Как ты вообще видишь ответ на свой вопрос без кода? Ну вылетает он..и что? мало ли программ вылетает с access violation? |
| Автор: lv151 24.7.2009, 15:07 | ||
Код один и тот же. Разница только в дэбаг и релиз.
|
| Автор: Andrey44 24.7.2009, 15:11 | ||
|
| Автор: lv151 24.7.2009, 15:13 |
| Мне нужно typeBinary. С CFile::typeText то же самое. |
| Автор: azesmcar 24.7.2009, 15:16 | ||
Посмотри разницу в настройках юникода в дебаге и в релизе. |
| Автор: Andrey44 24.7.2009, 15:19 | ||
Согласен с azesmcar, у тебя настройки в дебаге и релизе разные. Добавлено @ 15:22 А что-бы CFile::typeBinary пиши
|
| Автор: lv151 24.7.2009, 15:41 |
| Ползаю по свойствам проекта и не могу найти настройку юникода В Project Options её нет. |
| Автор: azesmcar 24.7.2009, 15:53 |
![]() |
| Автор: lv151 24.7.2009, 15:54 |
| VC6 |
| Автор: azesmcar 24.7.2009, 15:56 |
У нас запрещено хранение антиквариатов |
| Автор: lv151 24.7.2009, 16:03 |
| Автор: Albor 24.7.2009, 16:12 |
| Проверил в 6й студии - всё работает нормально и в дебаге и в релизе. |
| Автор: lv151 24.7.2009, 17:10 |
| Кому то везёт |
| Автор: lv151 28.7.2009, 14:53 |
| First chance exception 0xC0000005 ACCESS_VIOLATION occurred at 0x7C90100B, read of address 0x00000034 at 0x7C90100B (in C:\WINDOWS\system32\ntdll.dll) 1168 14:50:43:083 0x7C90100B RtlEnterCriticalSection + 0xB in ntdll.dll 1168 0x77C40EFA fputs + 0x27 in msvcrt.dll 1168 0x5F45FA20 + 0x10 in mfc42.dll 1168 0x004056AE ttt.exe 1168 0x004053BB ttt.exe 1168 0x7E42F3C2 SendMessageA in user32.dll 1168 0x00408DCA ttt.exe 1168 0x004034F1 ttt.exe 1168 0x7C802600 WaitForSingleObjectEx + 0xB0 in kernel32.dll 1168 0x5F4186ED + 0x18C in mfc42.dll Вот что показал AQTime. |
| Автор: Peter 31.7.2009, 15:43 |
| Это в функции main (или ее аналоге) всего лишь три строчки? Я бы в первую очередь проверил, на какой команде грохается. Вставил бы через строчку оповещение типа MessageBox() или записи в лог. Бывает, что Debug отличается от Release разным заполнением неинициализированных переменных. Когда все переменные инициализированы, они работают одинаково. |
| Автор: lv151 5.8.2009, 09:14 |
| Я MessageBox()-ми и ловил |