Page 1 of 1
Visual Studio dubugger forkert?
Posted: 23 Dec 2010, 03:04
by ZeroHero
Jeg har lavet et projekt i Visual Studio 2003 og ville fornylig gerne skifte til Visual Studio 2010. Desværre fandt jeg ud af at når jeg debugger i VS 2010 giver debuggeren mig forkert output. Jeg kan eksempelvis have en integer i en klasse som jeg sætter til nul i constructor'en. Men i min debug output bliver integerens værdi vist som: -8120000 efter den er sat til nul!? Jeg prøvede derefter at bruge printf() til at vise værdien af min integer og den viste rigtigt nok nul. Hvilket jeg kun kan konstatere at debuggeren af en eller anden grund viser forkerte værdier. Med andre ord så er det umuligt at dubugge kode med den version af Visual Studio 2010 jeg har. Jeg prøvede derefter Visual Studio 2008 og det samme skete for den. Kan det virklig passe? Er der noget jeg har overset eller noget jeg ikke har taget højde for?
Re: Visual Studio dubugger forkert?
Posted: 23 Dec 2010, 10:43
by Crisium
Hej ZeroHero,
der kan være mange årsager til at du få en forkert værdi.
1. er du sikker på dit project er configurede til debug?
2. er du sikker på variablen ikke er definerede som en member og lokal?
3. husk at virtual table ikke er lavede i contructor tid.
mvh,
Peter
Re: Visual Studio dubugger forkert?
Posted: 23 Dec 2010, 11:37
by ZeroHero
Jeg debugger på nøjagtig samme måde som med Visual Studio 2003. Ja, det er _DEBUG og ikke _RELEASE mode jeg debugger under! Hvis jeg sletter min debug folder og lukker ned for Visual Studio og sletter alle filer der er blevet skabt til brug af debugging fungere det korrekt, men kun første gang jeg debugger. Næste gang giver den mig underlige værdier der slet ikke giver mening.
Re: Visual Studio dubugger forkert?
Posted: 23 Dec 2010, 11:43
by Crisium
ZeroHero wrote:Jeg debugger på nøjagtig samme måde som med Visual Studio 2003. Ja, det er _DEBUG og ikke _RELEASE mode jeg debugger under! Hvis jeg sletter min debug folder og lukker ned for Visual Studio og sletter alle filer der er blevet skabt til brug af debugging fungere det korrekt, men kun første gang jeg debugger. Næste gang giver den mig underlige værdier der slet ikke giver mening.
Hej ZeroHero,
_DEBUG og _RELEASE er macros og har ingen ting at gør med konfiguration af compiler.
Det er mærklig at programmet kan køre når du slette debug folder, det er normalt også der exe filen ligger. Det lyder som din projekt er skruet forkert sammen.
du skal også være sikker på at du linke til debug dll og libraries.
som sagt der kan være mange årsager til dette problem.
mvh,
Peter
Re: Visual Studio dubugger forkert?
Posted: 23 Dec 2010, 14:09
by ups101
Divide and conquer. Lav en nyt projekt i VS 2010, gerne vha. en wizard. Afprøv debugging heri.
Hvis det virker, kan du koncentrere dig om dit rigtige projekt. Diff .vcproj fil fra wizard-projekt med rigtige projekt. Gætværk: Det lyder som om debug filerne (.pdb) ikke bliver opdateret, måske fordi de gamle ikke kan overskrives. Har du en process der hænger med et handle til en af filerne?
Hvis det ikke virker, kan du koncentrere dig om VS2010 opsætning. Reinstall, prøv på anden computer, fjern 2003, den sædvanlige voodoo.
Under alle omstændigheder har du fået indsnævret søgerummet.