WriteConsole и SetCurPos
От: Didro Россия home~pages
Дата: 19.03.05 13:37
Оценка:
Сделано приложение. Консоль Win32 (VC++ 6.0 sp5).
Есть меню (занимает левую сторону экрана), справа же от меню выводиться результат действий пользователя. Для этого вначале в нужной области экрана, с помощью функций SetConsoleCursorPosition(...) и WriteConsole(...)) выводиться результат действий пользователя, затем построчно с первой строки выводиться (с помощью WriteConsole(...))список пунктов меню.

Debug версия отлично компилируется и работает.

При сборке *релизной* версии приложения возникла следующая проблема:
Сборка проходит нормально, а *при запуске* приложения возникает ошибка kernel32 и всё падает.
Причём экспериментально установлено, что всё дело в SetConsoleCursorPosition(...) и WriteConsole(...), т.е. если их убрать, а выводить cout<<, то всё нормально, но тогда я не знаю, как мне вывести вначале справой стороны экрана результат действий пользователя, а затем слева меню.

Вот такая вот проблема.
Помогите советом, пожалуйста.
Re: WriteConsole и SetCurPos
От: Tuo_Bellas Россия  
Дата: 19.03.05 13:41
Оценка: 2 (1)
Здравствуйте, Didro, Вы писали:

[...]
D>Debug версия отлично компилируется и работает.

D>При сборке *релизной* версии приложения возникла следующая проблема:

[...]

Для начала попробуй почитай Как пережить release-версию
Автор(ы): Dr. Joseph M. Newcomer
Дата: 18.06.2001
Статья посвящена проблемам перехода с Debug-версии на Release-версию. Рассматриваются
типичные ошибки, которые могут не проявляться в отладочной версии, но проявляются в финальной.
Обсуждается вопрос "ошибок компилятора" и вопросы необходимости оптимизации и ее побочные эффекты.
В последней редакции добавлен раздел посвященный проблеме совместимости динамических библиотек.
и др. подобные статьи. Может поможет... За глаза сложно что-то сказать.

HTH,
Tuo_Bellas.
Re[2]: WriteConsole и SetCurPos
От: Didro Россия home~pages
Дата: 19.03.05 15:26
Оценка:
Здравствуйте, Tuo_Bellas, Вы писали:

T_B>Для начала попробуй почитай Как пережить release-версию
Автор(ы): Dr. Joseph M. Newcomer
Дата: 18.06.2001
Статья посвящена проблемам перехода с Debug-версии на Release-версию. Рассматриваются
типичные ошибки, которые могут не проявляться в отладочной версии, но проявляются в финальной.
Обсуждается вопрос "ошибок компилятора" и вопросы необходимости оптимизации и ее побочные эффекты.
В последней редакции добавлен раздел посвященный проблеме совместимости динамических библиотек.
и др. подобные статьи. Может поможет... За глаза сложно что-то сказать.

T_B>Tuo_Bellas.

Спасибо, действительно помогло.
Конечно ошибка (указатель не был явно инициализирован) была не "седьмого уровня", но удовольствие от её обнаружения было, наверное, не меньшим, чем у автора статьи.
Re[3]: WriteConsole и SetCurPos
От: Tuo_Bellas Россия  
Дата: 19.03.05 15:38
Оценка:
Здравствуйте, Didro, Вы писали:

T_B>>Для начала попробуй почитай Как пережить release-версию
Автор(ы): Dr. Joseph M. Newcomer
Дата: 18.06.2001
Статья посвящена проблемам перехода с Debug-версии на Release-версию. Рассматриваются
типичные ошибки, которые могут не проявляться в отладочной версии, но проявляются в финальной.
Обсуждается вопрос "ошибок компилятора" и вопросы необходимости оптимизации и ее побочные эффекты.
В последней редакции добавлен раздел посвященный проблеме совместимости динамических библиотек.
и др. подобные статьи. Может поможет... За глаза сложно что-то сказать.

T_B>>Tuo_Bellas.

D>Спасибо, действительно помогло.

D>Конечно ошибка (указатель не был явно инициализирован) была не "седьмого уровня", но удовольствие от её обнаружения было, наверное, не меньшим, чем у автора статьи.

Рад, что все так быстро разрешилось

Кстати, еще советую почитать книгу Дж. Роббинса Отладка приложений
Автор(ы): Джон Роббинс
Рассматриваются методики отладки (отладочные операторы, трассировка, блочное тестирование), основы работы и типы отладчиков, точки прерывания и пошаговый проход, таблицы символов и форматы символов отладки, удаленная отладка, автоматизированное тестирование. Большое внимание уделено дизассемблированию программ и работе с отладчиками Visual C++ и Visual Basic, мультимашинной и мультипроцессной трассировке, многопоточным блокировкам. В приложениях содержатся сведения о журналах программы Dr. Watson, ресурсах Интернета для Windows-разработчиков и форматах точек прерывания. На компакт-диске представлены MS Platform SDK (январь 2000 г.), исходные коды, отладочные утилиты и полнофункциональный GUI-отладчик.
-- весч . Я, правда, читал ее в более позднем переводе от изд-ва ДМК.

Tuo_Bellas.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.