непонятка с FREE

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

непонятка с FREE

витя ерыгин
У меня был массив указателей на строки. Часть из них были в хипе. часть в кодофайле.
Естественно, по окончанию работы освобождал массив указателей.
но FREE периодически валило код.
по логике,если FREE передать указатель на строку в кодофайле, то он должен выдать исключение 87, которое потом дропается.
Но нет, слово просто валит всё!
Если сделать так ['] free catch 2drop, то программа нормально завершает работу, но на консоль выводятся эксепты, много эксептов. 
При этом FREE то работало, то нет. Иногда с периодичностью 1:1 в пределах сессии 

--
Виктор Ерыгин
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: непонятка с FREE

Andrey Cherezov

Поэтому универсальный совет – не вызывать FREE с чем-то, что не выделялось по ALLOCATE. На 87 лучше не рассчитывать (мы же не знаем, как именно MS проверяют параметры), на ловлю аппаратных исключений - тем более.

 

From: витя ерыгин [mailto:[hidden email]]
Sent: Saturday, January 21, 2017 4:47 PM
To: SPF developers <[hidden email]>
Subject: [Spf-dev] непонятка с FREE

 

У меня был массив указателей на строки. Часть из них были в хипе. часть в кодофайле.
Естественно, по окончанию работы освобождал массив указателей.
но FREE периодически валило код.
по логике,если FREE передать указатель на строку в кодофайле, то он должен выдать исключение 87, которое потом дропается.
Но нет, слово просто валит всё!
Если сделать так ['] free catch 2drop, то программа нормально завершает работу, но на консоль выводятся эксепты, много эксептов. 
При этом FREE то работало, то нет. Иногда с периодичностью 1:1 в пределах сессии 

--
Виктор Ерыгин


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: непонятка с FREE

Ruvim Pinka
2017-01-22 16:28 GMT+03:00 Andrey Cherezov <[hidden email]>:

Поэтому универсальный совет – не вызывать FREE с чем-то, что не выделялось по ALLOCATE. На 87 лучше не рассчитывать (мы же не знаем, как именно MS проверяют параметры), на ловлю аппаратных исключений - тем более.


И еще, не вызывать FREE с чем-то, что было выделено по ALLOCATE в другом потоке.

--
Ruvim

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev