Главная страница
    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.061 c
15-1350489704
Artem
2012-10-17 20:01
2013.03.22
Изменение размера окна в семерке и хр.


2-1329256529
Deltas
2012-02-15 01:55
2013.03.22
Что за... сообщение в Delphi XE2.


15-1352709195
Аббат Пиккола
2012-11-12 12:33
2013.03.22
За демократию


15-1343039892
Alimkulov
2012-07-23 14:38
2013.03.22
Красивый компонент


2-1341357680
Просто Фан
2012-07-04 03:21
2013.03.22
расклейка форм





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