Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Менеджеры памяти для 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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.05 c
15-1348077854
dm_member
2012-09-19 22:04
2013.03.22
Выделение памяти под запись с динамическим массивом


2-1347783911
alfa
2012-09-16 12:25
2013.03.22
Требуется разъяснение команды AS


15-1340647283
Ega23
2012-06-25 22:01
2013.03.22
Мопед не мой, я только разместил объяву.


8-1230968832
night_light
2009-01-03 10:47
2013.03.22
Всех с наступившим! Полоска при выводе в Image с картинки...


2-1334682069
SiDimka
2012-04-17 21:01
2013.03.22
DBGrid > TreeView > DBGrid