Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2012.04.29;
Скачать: [xml.tar.bz2];

Вниз

Ошибка c памятью   Найти похожие ветки 

 
Pavia ©   (2011-12-24 11:36) [0]

Странные дела. Есть мой код. Выдают ошибку error out of memory.
Менеджер памяти стандартный для Delphi 7.
ОС -Ubuntu +Wine
В диспетчере задач. Память не превышает 40 мегабайт.
В цикле создаются и уничтожаются объекты код проверенный(раньше работало).
Ошибка появляется при добавлении в цикл определённой функции. Функция моя.
Выход указателя за приделы массива, отсутствует проверил.

Где и как искать ошибку?


 
Игорь Шевченко ©   (2011-12-24 12:13) [1]

Учесть, что под wine глобальные переменные могут не инициализироваться нулем.

можно использовать memproof, отладчик, протоколирование в файл, например.

Ты б курсы какие что ли прошел. С памятью ошибка.


 
sniknik ©   (2011-12-24 13:41) [2]

> код проверенный(раньше работало).
"раньше работало" это вообще не показатель... если оно у тебя "заточено" под одно окружение/одно поведение, то пока это не сменится могут годы пройти, пока оно все работает и работает.

(к примеру случай был, настроили клиенты в ОС-и разделитель дробей # вместо точки/запятой. так все учетные программы "попадали", а ведь раньше работало...)


 
Pavia ©   (2011-12-24 14:54) [3]

Ошибку отловил.  Да была небольшая утечка.Но она никак не могла повлиять. Видимо ещё в wine virtualAlloc не работает с size=0; Если я правильно понял memproof.
На данный момент исправил ошибку с утечкой исключение пропало.

А вот по поводу протоколирование в файл. Что почитать посоветуете? Какие инструменты?


 
Владислав ©   (2011-12-24 14:57) [4]

Была подобная проблема в безобидном коде в программе.
Выяснилось, что out of memory происходит по причине фрагментации памяти. В какой-то момент при обработке большого текста менеджер памяти просто не находил большой (ну как большой... несколько мегабайт) непрерывный "кусок" свободной памяти. Программа как раз была написана на D7. Диспетчер задач также показывал незначительное потребление памяти. Вылечили прикручиванием FastMM.


 
Pavia ©   (2011-12-24 15:02) [5]


> Выяснилось, что out of memory происходит по причине фрагментации
> памяти.

Вполне может быть у меня было тоже самое.


 
miek   (2011-12-26 16:04) [6]

Прогони программу под виндой с Application Verifier. Подобные ошибки выявляет очень хорошо.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2012.04.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.002 c
2-1325596272
serhiyiv
2012-01-03 17:11
2012.04.29
Медиа кнопки + message


2-1325752586
Anthony
2012-01-05 12:36
2012.04.29
Вопрос о передаче фокуса элементу


4-1256726104
Инна
2009-10-28 13:35
2012.04.29
Bitmap+Lineto


15-1324586003
Германн
2011-12-23 00:33
2012.04.29
Как очистить пространство имен СОМ-портов?


15-1324401094
SQLEX
2011-12-20 21:11
2012.04.29
Сосед президента. Обман или есть такой дом?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский