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

Вниз

Менеджеры памяти для 64 bit   Найти похожие ветки 

 
CrytoGen   (2012-03-14 10:00) [0]

Есть ли менеджеры памяти для 64 bit, кроме FastMM?

При переводе


 
CrytoGen   (2012-03-14 10:02) [1]

Есть ли менеджеры памяти для 64 bit, кроме FastMM?

При переводе с D7 на XE2 получил пачку AV. Добавление в D7 FastMM вызывает аналогичные AV. В D7 использовал TopMM.
Соответственно проблема может быть решена использованием другого менеджера, но найти таковой пока не удалось.


 
Anatoly Podgoretsky ©   (2012-03-14 10:29) [2]

> CrytoGen  (14.03.2012 10:02:01)  [1]

Тебе нужна не кремлевская таблетка, а исправление ошибок в приложение.


 
CrytoGen   (2012-03-14 10:47) [3]

Это конечно вариант, если бы приложение не валилось на банальном getmem. Причём с большинством MM работает нормально. А переписывать придёться очень много.


 
CrytoGen   (2012-03-14 10:49) [4]

А вообще грешу на динамические массивы. Но на D7 удобных альтернатив не было.


 
sniknik ©   (2012-03-14 11:10) [5]

какие альтернативы если проблема в ТВОЕМ коде???


 
CrytoGen   (2012-03-14 11:27) [6]

С другими MM в D7 работало нормально, меня это устраивало. Если есть возможность решить проблему сменой MM, то я бы предпочел это вариант. И проблема скорее не в моём коде, а в особенностях его работы с FastMM. Код валиться на гетмем и на процедурах его использующих - типа SetLength. В настоящий момент решить проблему можно только переписав весь код с 0, а это процесс как вы понимаете трудоёмкий. Пытался запускать с FullDebug, опасных репортов не обнаружил. Кроме нелюбимых FastMM нефинализированных динамических массивов, утечек нет.


 
CrytoGen   (2012-03-14 11:33) [7]

собственно вот такого же типа проблема:
http://sourceforge.net/tracker/index.php?func=detail&aid=2378403&group_id=130631&atid=718458


 
han_malign   (2012-03-14 11:57) [8]

Если Вы засираете служебные заголовки менеджера памяти при выходе за границы буфера, то никакие замены менеджеров памяти Вам не помогут.
До сих пор Вам (не)везло и кондовый МП просто "промахивался" мимо убитых участков кучи.

см. {$R+}


> Кроме нелюбимых FastMM нефинализированных динамических массивов,  утечек нет.

- вот Вы сами и признались, что Ваш говнокод надо выкинуть, а Вам надо сменить специальность...

З.Ы. Ну или продолжайте считать, что это вселенский заговор профессиональных разработчиков против Лично Вас...


 
CrytoGen   (2012-03-14 12:10) [9]

Т.е. по вашему нефинализированный динамический массив это говнокод? И естественно, что при  поиске проблемы все рантайм проверки включены. Опция CheckHeapForCorruption включена.


 
Омлет ©   (2012-03-14 12:11) [10]

Дай пример минимального кода, на котором падает FastMM.


 
Anatoly Podgoretsky ©   (2012-03-14 12:16) [11]

Код хороший, но он не такой, он особенный,


 
CRLF   (2012-03-14 12:17) [12]

Что вообще такое "финализированный динамический массив"? SetLength(..., 0) что ли?


 
CrytoGen   (2012-03-14 12:20) [13]

SetLength(..., 0)
Finalize
или a:=nil
Код конечно особенный, куда без этого.


 
sniknik ©   (2012-03-14 12:23) [14]

> Код хороший, но он не такой, он особенный,
у меня правильнописание хромает, оно хорошее... но почему-то хромает. © Вини Пух.


 
Sha ©   (2012-03-14 13:18) [15]

CrytoGen,

Ищи у себя выход за границы массивов, строк, выделенных тебе областей памяти.

Как исправишь, будет работать любой MM.


 
CrytoGen   (2012-03-14 13:31) [16]

Ищу, но проект достаточно большой. Проблема появилась только с FastMM, поэтому в настоящий момент найти причину очень сложно.


 
Pavia ©   (2012-03-14 13:35) [17]

Это с не привычки трудно. Найдёшь первую дальше будет проще.


 
QAZ   (2012-03-14 14:51) [18]

а чем неустраивает родной мм? типа не фаст?


 
CrytoGen   (2012-03-14 16:06) [19]

в xe2 fast стал родным


 
Eraser ©   (2012-03-14 16:32) [20]

> [16] CrytoGen   (14.03.12 13:31)

скажи спасибо fastmm, что проблему стало видно. а то бы левые данные воводило куда-нибудь втихаря.


 
CrytoGen   (2012-03-14 16:51) [21]

Спасибо. 6 лет вводило втихаря.


 
Дмитрий Белькевич   (2012-03-16 00:43) [22]

FastMM в Full Debug Mode + Overflow check + Range check + эврикалог в руки...


 
Германн ©   (2012-03-16 01:00) [23]


> Дмитрий Белькевич   (16.03.12 00:43) [22]

В большинстве случаев достаточно только Эврики.


 
han_malign   (2012-03-19 15:31) [24]


> менеджеры памяти для 64 bit

- ищи packed в комбинации с int64 и/или указателями(в т.ч. 64-битными)... "Datatype misalignment exception" - вернулся...


 
Дмитрий Тимохов   (2012-03-24 14:59) [25]

что вы на автора насели.

Пьер Ле Риш не бог. у него были ошибки, даж я что-то находил и сообщал ему, правда из утилитарного, а не основного.

пусть пример приведет минимально падающего кода.
тогда и надо смотреть.
автор - попробуй найти минимальный код и дай его.



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

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

Наверх




Память: 0.5 MB
Время: 0.078 c
2-1347106775
Jimmy
2012-09-08 16:19
2013.03.22
Многоязыковое приложение


3-1276674643
Hadroran
2010-06-16 11:50
2013.03.22
Построение представления


15-1349037002
Юрий
2012-10-01 00:30
2013.03.22
С днем рождения ! 1 октября 2012 понедельник


2-1335038569
novichek
2012-04-22 00:02
2013.03.22
TZipFile


15-1334386445
Knight
2012-04-14 10:54
2013.03.22
Белые квадраты под изображениями (иконками) в TListView





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский