Jag har stött på ett mystiskt problem. En lokal variabel tilldelas ibland ett mycket otippat värde. Det är uppräknings int:en i en for-loop som ibland får värdet i = -2147477886!. I den hyfsat enkla loopen adderas heltal till i, men det ska inte ske någon subtraktion. Jag kan inte komma på var i programmet den "omöjliga" tilldelningen sker och jag efterlyser en metod som kan hjälpa mig i mitt sökande. Du kan inte ha passerat maxvärdet för en int? När en int har värdet 2147483647 och du adderar 1 så "slår den runt" och får värdet -2147483648. På klassen int så har du en konstant som innehåller min- och maxvärdet för datatypen (det gäller för övrigt alla numeriska datatyper). Du kan även använda "checked" runt beräkningar för att markera att du vill ha ett exception om det blir overflow (OverflowException). Det slöar dock ned koden en aning...bugga en variabel
Det klockrena vore om V.S. kan följa variabeln i och stoppa körningen där i tilldelas -2147477886. Jag har experimenterat en del med if-satser och kan stoppa körningen under den iteration där tilldelningen sker, men detta säger mig ingenting om var tilldelningen skedde.
En annan grym grej vore om V.S. hade en debugfunktion som kan stega bakåt i koden, men det är väl knappast möjligt?Sv: bugga en variabel
/JohanSv: bugga en variabel