Форум: "Прочее";
Текущий архив: 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.076 c