Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.140.242.165] |
|
Сообщ.
#1
,
|
|
|
Помогите, пожалуйста, разобраться с такой диковинной ситуацией. Программа использует GlobalAlloc c параметром GPTR. Работало все нормально, никаких новых дров на комп не ставил и вот сегодня вылетает ошибка, что инструкция по адресу ... обратилась к памяти FF.FF.FF.F8 (!!!) и не может быть read. Поменял второй параметр от двух до трех кратного увеличения - результатов ноль. Более того, если раньше при нажатии на кнопку Отмена (отладка) вызывался Visual C++, тыкая меня носом в то место, где проблемы, то сейчас вообще ничего не происходит. Кроме того, отладка в одном месте по Int 3 приводит к появлению отладчика, а спустя несколько строк ниже - никакого эффекта. Что за чудеса ? Где я мог напортачить ?
|
Сообщ.
#2
,
|
|
|
Похоже, что твоя ситуация аналогична этой:
Падает программа во время завершения работы |
Сообщ.
#3
,
|
|
|
Цитата Newbie @ Что за чудеса ? Где я мог напортачить ? Да где угодно (Возможно с тайпкастом или дереференсом "напортачил") И причем тут вообще GlobalAlloc? Хоть бы кусок кода привел с проблемным местом.. |
Сообщ.
#4
,
|
|
|
LPBYTE lpMainBuffer = (LPBYTE) GlobalAlloc(GPTR, dwFileSize); if (!lpMainBuffer) { ServiceWriteProcessLog(1222, GetLastError(), TRUE); CloseHandle(hFile);return FALSE; } Именно на строчке GlobalAlloc программа выдает: 1. Без int 3 - инструкция не может прочитать память по адресу 2. В режиме отладки - access violation по тому же адресу dwFileSize = 12320, пробовал прописать как есть, пробовал забить 20.000 - без разницы Добавлено Несколькими блоками назад забыл скорректировать увеличение размера приемного буфера и, как следствие, началась такая свистопляска, что хоть святых выноси |
Сообщ.
#5
,
|
|
|
Цитата Несколькими блоками назад забыл скорректировать увеличение размера приемного буфера и, как следствие, началась такая свистопляска, что хоть святых выноси тебе же и намекнули - ищи проблему в работе с памятью. |