На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются.
4. Используйте теги [ code=cpp ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Старайтесь формулировать свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной и более давности без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта (C++) user posted image FAQ Форума user posted image Наши Исходники user posted image Поиск по Разделу user posted image MSDN Library Online (Windows Driver Kit) user posted image Google

Ваше мнение о модераторах: user posted image B.V.
Модераторы: B.V.
  
> Проблемы с GlobalAlloc
    Помогите, пожалуйста, разобраться с такой диковинной ситуацией. Программа использует GlobalAlloc c параметром GPTR. Работало все нормально, никаких новых дров на комп не ставил и вот сегодня вылетает ошибка, что инструкция по адресу ... обратилась к памяти FF.FF.FF.F8 (!!!) и не может быть read. Поменял второй параметр от двух до трех кратного увеличения - результатов ноль. Более того, если раньше при нажатии на кнопку Отмена (отладка) вызывался Visual C++, тыкая меня носом в то место, где проблемы, то сейчас вообще ничего не происходит. Кроме того, отладка в одном месте по Int 3 приводит к появлению отладчика, а спустя несколько строк ниже - никакого эффекта. Что за чудеса ? Где я мог напортачить ?
      Похоже, что твоя ситуация аналогична этой:
      Падает программа во время завершения работы
        Цитата Newbie @
        Что за чудеса ? Где я мог напортачить ?

        Да где угодно ;) (Возможно с тайпкастом или дереференсом "напортачил")
        И причем тут вообще GlobalAlloc? Хоть бы кусок кода привел с проблемным местом..
        Сообщение отредактировано: leo -
          ExpandedWrap disabled
            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 - без разницы

          Добавлено
          Несколькими блоками назад забыл скорректировать увеличение размера приемного буфера и, как следствие, началась такая свистопляска, что хоть святых выноси
            Цитата
            Несколькими блоками назад забыл скорректировать увеличение размера приемного буфера и, как следствие, началась такая свистопляска, что хоть святых выноси

            тебе же и намекнули - ищи проблему в работе с памятью. ;)
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0236 ]   [ 16 queries used ]   [ Generated: 8.05.24, 15:16 GMT ]