Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Debug - пашет, Release - нет.......?????? Что с этим делать 
:(
    Опции темы
NiТR0
Дата 1.7.2005, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Проблема такова:
Приложение Win32 Application работает в Debug-версии, но выдаёт ошибку после запуска Release-версии.
Dependency Walker говорит:
[code=cpp]
.....
00:00:00.875: GetProcAddress(0x10000000 [c:\work\pin\pin\VDEMDLL.DLL], "vdemGetChar") called from "c:\work\pin\pin\release\PIN.EXE" at address 0x0040113B and returned 0x10001160 by thread 1.
00:00:06.672: First chance exception 0xC0000005 (Access Violation) occurred in "c:\windows\system32\NTDLL.DLL" at address 0x7C90EE29 by thread 1.
00:00:06.672: Second chance exception 0xC0000005 (Access Violation) occurred in "c:\windows\system32\NTDLL.DLL" at address 0x7C90EE29 by thread 1.
00:00:06.687: Exited "c:\work\pin\pin\release\PIN.EXE" (process 0xF98) with code -1073741819 (0xC0000005) by thread 1.
00:00:00.125: Entrypoint reached. All implicit modules have been loaded.
[code=cpp]
Вопрос: Почему?
(Может быть в настройках проекта?)
PM MAIL   Вверх
Guest
Дата 1.7.2005, 14:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











если работаеш с dll , может забыл её в насторйках рализа подключить

ЗЫ это просто предположение smile
  Вверх
Earnest
Дата 1.7.2005, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Exception 0xC0000005 - это доступ в запрещенную область памяти. Возможно, какой-нибудь указатель не проинициализирован ...
Если программа небольшая, проверь код, или расставь трассировочные сообщения, чтобы локализовать ошибку (пользуйся OutputDebugString, ибо TRACE'ы в релизе отключены), а потом уже проверь код.




--------------------
...
PM   Вверх
Step
Дата 1.7.2005, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



NiТR0, все что объявляешь просто проинициализрую и установи начальные значения или сбрось все в нул

в дебаги это делаеться автоматом, а релизе нет



--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Nuzur
Дата 2.7.2005, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Еще 1-на причина может быть в изменении стандартных сообщений винды.
В духе добавления в них какие-то параметры или что-то подобное.
Такая махина работает в дебаге, в релизе нет. Проверено лично.


--------------------
Never again...
PM MAIL   Вверх
Coocky
Дата 3.7.2005, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

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



Nuzur
А можно подробнее?
Я с таким не сталкивался, интересно б было....


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
NiТR0
Дата 4.7.2005, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Решение было найденно.
Project Settings -> C/C++ -> Calling Convention: __stdcall & __cdecl* (порядок работы со стеком)
В Debug был один, в Release другой.
Хоть и помучился изрядно, но зато на этот садово-огородный инструмент больше не наступлю.
Очень благодарен вам за поддержку!

P.S.
Earnest, ты не мог бы рассказать, что такое OutputDebugString, мне оно самое очень нуна, чтобы логированием не заниматься.
PM MAIL   Вверх
Гость_Debuger
Дата 4.7.2005, 11:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











OutputDebugString() выводит сообщения в окно отладчика.
  Вверх
NiТR0
Дата 4.7.2005, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Интуитивно я это понял smile
А где его взять? Он входит в состав Visual C++ как Toolsa?
Добавлено @ 11:30
Аааааа эт чё функция, блин, понял только что smile
Добавлено @ 11:31
ххх smile все дружненько смотрим мою подпись smile
PM MAIL   Вверх
Earnest
Дата 4.7.2005, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



На эту же тему:
Есть небольшая утилита, DebugView, которая позволяет отслеживать трассировочные сообщения, находясь вне IDE: http://www.sysinternals.com/MiscellaneousUtilities.html
Очень помогает, когда релиз работает по-разному при запуске в среде и отдельно.



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


 




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


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

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