Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.

[es] :: C/C++ programiranje :: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.

[ Pregleda: 3124 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tupito
Vladan Milivojevic
Beograd

Član broj: 55195
Poruke: 54
*.etf.bg.ac.yu.



Profil

icon VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.03.04.2006. u 14:00 - pre 218 meseci
pravim toolbox za Matlab/Simulink a njegov glavni deo je S-function. S-Function je u stvari dll napravljen u VC++ koji Matlab poziva(exportuje jednu funkciju koju matlab poziva), i sve radi fenomenalno dok koristim debug verziju runtime library (/MDd).

Medjutim kad prebacim u release verziju (/MD), simulacija puca i Matllab mi govori da je ovaj moj nesrecni dll napravio "segmentation violation" a to u sustini
znaci pristup nealociranoj memoriji, e sad ako je moja programerska greska, po nekom mom rezonovanju , onda bi trebalo da puca i sa debug verzijom. A sto mi je najcudnije ja stavim release verziju runtime library , i sve to debugujem iz VC++ simulacija ne puca i sve radi kako treba ,a ako odmax posle pokrenem ctrl F5
lili ti "start without debugiing" smiulacija puca, tako da i ako je u pitanju neka moja greska nema sanse da otkrijem gde je(inace moj dll ima 30 000 linja).A probao sam sa vise verzija matlab-a i isto se desava.

Da li neko mozda ima neku ideju sta bi to moglo da bude , i kako to da resim?
A drugo pitanje je u vezi sa debug verzijom runtime library da li je ona sporija i koliko od release verzije? jer to je ono sto je meni najvaznije .

EDIT: ne koristim nista fancy sem STL-a

[Ovu poruku je menjao tupito dana 03.04.2006. u 16:04 GMT+1]
 
Odgovor na temu

Alex21
Zagreb

Član broj: 89590
Poruke: 24
82.193.194.*



Profil

icon Re: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.03.04.2006. u 14:39 - pre 218 meseci
Ovakve problemi znaju zadavat pravu glavobolju.

Iz mojeg iskustva, kod ovakvih stvari obično neki pointer odleti malo krivo ili indeksiraš polje preko granice (u biti sam dva puta rekao istu stvar :) ).

Zašto naposan kod u debug verziji dobro radi?
Zato što debuger oko svake varijable kod alociranja postavi guard bytove. Ti guard bytevi se inače koriste za detekciju prepisivanja po memoriji, tako da se
testira promijena njihovog sadržaja. U MFC-u se npr. to radi pozivom AfxCheckMemory() funkcije kod svake alokacije/delokacije, gdje se u uslučaju prepisa izbacije TRACE poruka.

Međutim, ako se ne koriste ovi mehanizmi, tada će guard bytevi omogućit da se neki bugovi provuku, za što vjerujem da se je tebi dogodilo.
Najvjerojatnije ti neki pointer odleti, koji kod debugiranja pomrčka guard bytove, a u release verziji druge stvarne varijable.

Znači, 99% da razlog nije u library kojeg pozivaš već u tvom kodu.


pozdrav
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.lionbridge.com.



+6 Profil

icon Re: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.03.04.2006. u 14:52 - pre 218 meseci
Probaj da kompajliraš Release verziju sa ugrađenim Debug info. Možda ti pokaže gde je problem.
 
Odgovor na temu

tupito
Vladan Milivojevic
Beograd

Član broj: 55195
Poruke: 54
*.etf.bg.ac.yu.



Profil

icon Re: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.03.04.2006. u 15:51 - pre 218 meseci
ja mislim da sam to pokusao, stvar je u tome sto kada ga sa release verzijom bibloteke debagujem i izvrsam program korak po ko korak sve normalno radi i jednostavno nema sanse da pronadjem gresku.
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.03.04.2006. u 18:22 - pre 218 meseci
pregledaj sve switcheve, posebno one za optimizaciju
 
Odgovor na temu

tupito
Vladan Milivojevic
Beograd

Član broj: 55195
Poruke: 54
*.ptt.yu.



Profil

icon Re: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.03.04.2006. u 19:21 - pre 218 meseci
Probao sam to vec i opet isto sa i bez optimizacije. jedino sta sam primetio jeste runtime libriary ona jedina pravi razliku.
 
Odgovor na temu

z@re
Zarko Bulatovic
Split

Član broj: 29849
Poruke: 443
*.cmu.carnet.hr.



+25 Profil

icon Re: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.03.04.2006. u 21:03 - pre 218 meseci
Pokusaj sa drugim kompajlerom.

Q: HSP56 Micromodem nece da radi kompjuter ga prepozna a kad treba da se konektujem nece ne daje ni znaka zivota. u cemu je problem.

A: Crko mozda od grmljavine mozda od spanaca. Uglavnom baci ga u WC solju jako povuci vodu. Skupi 5e i uzmi drugi i ne postuj temu na pogresno mesto.
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
..shall-bg.customer.sbb.co.yu.



Profil

icon Re: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.04.04.2006. u 14:41 - pre 218 meseci
Proveri sve konstruktore i da li si inicijalizovao varijable na podrazumevane vrednosti.
Takve greske se desavaju ako npr zaboravis da postavis pointer na NULL, a negde u programu napises:

Code:

if (ptr != NULL)  ptr->DoSomething();


yooyo

 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.04.04.2006. u 15:23 - pre 218 meseci
Pošto je pitanje za glavobolju, evo par pitanja tipa "proverite da li ste uključili kabl u struju".

Da li ima veze sa KOJOM verzijom VC++ je kompajliran DLL? Tj da li treba da bude ista verzija
kao kod MatLab-a? Znam da je u jednoj firmi koja pravi Plug-In-ove za AutoCad, program
MORAO da bude u istoj verziji kao i AutoCad.

Da li je taj DLL potpuno samostalan? Ima li jos neki fajl koji je ukljucen u igru. Meni se jednom
desilo da je program POGREŠNO određivao putanju kada se izdvoji iz Debug foldera.

Konačno, postavi ASSERT-e na svim kritičnim mestima. Ili ono što ja radim par puta godišnje
radi takvih idiotarija, stavljam deo po deo koda pod komentare, i čekam da vidim kada će
problem prestati.

 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
222.64.115.*

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.04.04.2006. u 16:55 - pre 218 meseci
Citat:
X Files: Da li ima veze sa KOJOM verzijom VC++ je kompajliran DLL? Tj da li treba da bude ista verzija
kao kod MatLab-a? Znam da je u jednoj firmi koja pravi Plug-In-ove za AutoCad, program
MORAO da bude u istoj verziji kao i AutoCad.

Moze biti i pogresan calling convention. Verzija VC++ ne moze imati nikakav znacaj, ako je calling
convention isti. Ukoliko nije ista dekoracija imena, dobices poruku o gresci da nedostaje metod/klasa/sta god.
Dakle u vasem slucaju je verovatno promenjena default calling convention...
Citat:
X Files: Konačno, postavi ASSERT-e na svim kritičnim mestima. Ili ono što ja radim par puta godišnje
radi takvih idiotarija, stavljam deo po deo koda pod komentare, i čekam da vidim kada će
problem prestati.

Nadam se da ne naplacujes mnogo radni sat ;)
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.04.04.2006. u 21:27 - pre 218 meseci
Citat:

Nadam se da ne naplacujes mnogo radni sat ;)


:) "Ako neće breg Muhamedu - 'oće Muhamed bregu"

Naravno, vrsiti komentarisanje koda deo po deo je pravo ubistvo, pogotovo sto su
metode (funkcije) najcesce medjuzavisne. Na zalost, ja sam to morao da radim par
puta, i uvek sam otkrio neku glupost na koju uopste nisam ni sumnjao.
 
Odgovor na temu

tupito
Vladan Milivojevic
Beograd

Član broj: 55195
Poruke: 54
*.041net.co.yu.



Profil

icon Re: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.04.04.2006. u 22:34 - pre 218 meseci
uuuh i nekako nadjoh gresku. mislim strasno....

u pitanju je bila neinicijalizovana promenljiva, a razlog sto je mi nije palo na pamet da je inicijalizujem ili da je proveravam jeste sto nicemu ne sluzi. prilikom citanja ulaznih podataka zbog nekih testiranja sam na brzinu ubacio tu bool promenljivu koja mi odredjuje da li da ucita neke test podatke. a kad sam zavrsio sa tim testiranjima potpuno sam zaboravio na tu promenljivu , u debugu ona je bila inizijalizovana na slucajnu vrednost i sve je radilo normalno, dok u releseu na nulu pa onda mi uctao potpuno neboluzne podatke a program bi nastavio da radi dok nebi pukao.

U svakom slucaju svima veliko hvala na pomoci!
 
Odgovor na temu

[es] :: C/C++ programiranje :: VisualC++ runtime library problem: debug verzija radi kako treba dok release ver mi puca.

[ Pregleda: 3124 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.