• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Утечка памяти (malloc)

А

Алексей Прохоров

Есть программа .ехе как можно устранить утечку памями постоянно вылазит ошибка
TObjRef<Debug>()->ErrMsg(_T("MALLOC(or NEW) for %lu bytes failed\r\n"), size);
return 1;
}

кстати в %lu присваивается значение size

самое не понятно это то что писали типа ехе править надо я хз но мне кажется скорее всего это vEngine.dll надо смотреть

по крайней мере ошибка туда ссылается
Тег
 

Marylin

Mod.Assembler
Red Team
05.06.2019
304
1 358
BIT
281
Прогоните программу в отладчике - когда дойдёт до MALLOC,
он вернёт код-ошибки в регистре EAX, по которому можно определить конкретную причину.
Сколько выделяете памяти? Может у системы нет столько свободной?
 
А

Алексей Прохоров

Прогоните программу в отладчике - когда дойдёт до MALLOC,
он вернёт код-ошибки в регистре EAX, по которому можно определить конкретную причину.
Сколько выделяете памяти? Может у системы нет столько свободной?
Там память статическая выделяется +-1,5гб
 

Marylin

Mod.Assembler
Red Team
05.06.2019
304
1 358
BIT
281
malloc - этот тот же HeapAlloc(), т.е. память выделяется из хипа..
на системах х32 не получится столько выделить за раз,
а на х64 может не быть такого блока непрерывной памяти - попробуй выделять в цикле страницами по 4К и посмотришь, какой объём имеется в наличии. Проблема тут в том, что нужен непрерывный блок памяти, а система не может его найти (имхо)
 
G

GamingPlay

вот такое находили ранее в dll
 

Вложения

  • kvfEk6nUVgc.jpg
    kvfEk6nUVgc.jpg
    232,7 КБ · Просмотры: 372
А

Алексей Прохоров

malloc - этот тот же HeapAlloc(), т.е. память выделяется из хипа..
на системах х32 не получится столько выделить за раз,
а на х64 может не быть такого блока непрерывной памяти - попробуй выделять в цикле страницами по 4К и посмотришь, какой объём имеется в наличии. Проблема тут в том, что нужен непрерывный блок памяти, а система не может его найти (имхо)
выше ответ
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!