Поиск:

Ответ в темуСоздание новой темы Создание опроса
> странная ошибка, debug и release отличаются 
:(
    Опции темы
mrgloom
Дата 25.1.2013, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



программа работала нормально, потом я видимо что то поменял и теперь дебаг работает нормально, а в релизе не выводятся картинки и окно и кнопки иногда бывают как будто застывшими. 

ошибок не происходит и ничего не падает.

что это может быть?



Это сообщение отредактировал(а) mrgloom - 25.1.2013, 17:14
PM MAIL   Вверх
Alca
Дата 25.1.2013, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 6
Всего: 50



все что угодно


--------------------
PM WWW ICQ Skype Jabber   Вверх
Фантом
Дата 25.1.2013, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



В принципе, действительно все что угодно, но чаще всего источником подобных проблем является некорректная работа с памятью (используете неинициализированные переменные, обращаетесь к несуществующим элементам массива, забываете выделить память по указателю или раньше времени ее освобождаете и т.п.). В debug и release "дырка" попадает либо в неиспользуемый (формально) участок памяти (и тогда все работает), либо накладывается на что-то нужное (и тогда результат непредсказуем).
PM   Вверх
Alca
Дата 26.1.2013, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 6
Всего: 50



Вот загон с эссертом:
Код

assert(true == someFoo());

в релизе этотого кода не будет.
А так код показывай.


--------------------
PM WWW ICQ Skype Jabber   Вверх
mrgloom
Дата 28.1.2013, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



там что то похоже именно с интерфейсом с MFC или с GDI связанно.

еще выводит такое

Цитата

Loaded  ...\GdiPlus.dll
The thread 'Win32 Thread' (0xc5c) has exited with code 1 (0x1).



+ в дебаге 

Цитата

Warning: destroying an unsaved document.


так что смахивает и на мемори лик

Это сообщение отредактировал(а) mrgloom - 28.1.2013, 11:31
PM MAIL   Вверх
Alca
Дата 28.1.2013, 15:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 6
Всего: 50



это смахивает на гадание на кофейной гуще


--------------------
PM WWW ICQ Skype Jabber   Вверх
Earnest
Дата 29.1.2013, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Цитата(mrgloom @  28.1.2013,  11:52 Найти цитируемый пост)
Warning: destroying an unsaved document.

Поищи в недрах MFC, вот и узнаешь, что это. Насколько я помню, это ровно то, что написано: разрушается документ, у которого взведен флажок модификации. Мемори-лики проявляются в дебаге по другому.
А вообще Alca прав - гадаешь на кофейной гуще. А нужен системный подход: сначала зафиксировать ошибку, потом отладить. В релизе это не очень удобно, но есть OutputDebugString (которая, несмотря на им, работает и в релизе). Можно поробовать собрать релиз с минимальной отладосной информацией, чтобы подебажить его в среде. Но эффект может пропасть. Кроме того, релиз может плохо вести себя только вне IDE; на это есть утилитка от sysinternals, которая мониторит вывод OutputDebugString.
И первым делом проверь утечку GDI ресурсов.



--------------------
...
PM   Вверх
Alca
Дата 29.1.2013, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 6
Всего: 50



Цитата

И первым делом проверь утечку GDI ресурсов.

Как найти утечку GDI - ресурсов? 


--------------------
PM WWW ICQ Skype Jabber   Вверх
volatile
Дата 30.1.2013, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 4
Всего: 85



часто UB-шные выражения, компилируюцца по разному в дебаге и релизе.
В какой-то студии было, кажецца:
Код

int a,b;
//...
a = b++ + b++;

а - имело разное значение в дебаге и релизе.

А UB-шных выражений (спасибо стандарту), немеряно, так что ...  smile 

PM MAIL   Вверх
mrgloom
Дата 1.2.2013, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



вообщем проблема была из-за того что HPEN  удалялся ,а потом его настройки записывались в ини файл(соответственно мусор), и потом когда всё читалось обратно, GDI от некорректного HPEN не хотел выводить всё нормально, при этом нчиего не падало. 

а зависание окна от другого было, точнее оно было просто неактивно.



а насчёт утечек почитаю тоже полезно.



PM MAIL   Вверх
mrgloom
Дата 18.2.2013, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Цитата

Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_...\GdiPlus.dll'
The thread 'Win32 Thread' (0x230) has exited with code 1 (0x1).


на такой вывод в дебаге стоит обратить внимание?

GDI handlers в диспетчере смотрел вроде ничего не увеличивается.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.1071 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.