vc++ problemi s pametta

3 отговора 169 прегледа
#1

vc++ problemi s pametta

Imam problem s edni automation com server. W debug raboti normalno no w release ima nqkakyw problem koito nai weroqtno e swyrzan s pametta. Takiwa problemi sym imal i predi ako naprimer ima razlichen struct alignment no w sluchaq ne e towa. Ubeden sym che problemyt e swyrzan s pametta (primer: ako definiram promenliwa na nqkoe mqsto bez dori da q izpolzwam rezultatyt e razlichen ot tozi kogato q nqma). Nqkoi znae li kakwo trqbwa da se naprawi

Отговор
в отговор на gosho #2

Re: vc++ problemi s pametta

Ами трябва да дефинираш някоя променлива на МНОГО подходящо място, и проблема ще изчезне :))

Сериозно: като за начало изключи всички оптимизации. Ако всичко работи, включвай ги една по една. Като установиш при коя започва да мре, огледай си кода - какво от тая оптимизация ти пречи. Ползувай BoundChecker, в краен случай постави печат във файл за да установиш къде мре (макар че тяхното поставяне ще промени кода и проблема може да се скрие). Но с малко късмет ще го приклещиш.

Отговор
в отговор на Гeнчo #3

Re: vc++ problemi s pametta

mersi za otgowora shte probwam i nadqwam se che shte stane

Отговор
в отговор на gosho #4

Re: vc++ problemi s pametta

skoro pak njakoi beshe post-nal neshto podobno.

The bottom line is:
Ako neshto raboti v Debug, a ne raboti (gyrmi ili prosto ne bachka) v Release - tova e tipichen beleg za "mazane" po pametta.

Sigurno na njakoe mjasto imash heap ili stack corruption. Shtom kazvash, che zavisi ot mjastoto na definirane na njakoja promenliva, tova mi zvuchi kato da zamazvash steka. Ili pyk njakyde ima sgreshena calling convention (ako tova e sluchaja - shtom v debug raboti, moje bi funkcijata priema tochno edin parametyr).

Generalno BoundsChecker e mno'o jak za takiva sluchai.
Syshto i za memory leak-ove :-)))

Pozdravi !
M.

Отговор