Hallo Eric,
ich weiß leider auch keine Lösung, aber mir fällt auf, daß deine beiden Methoden zur Programmanalyse (steppen und breakpoint) nicht äquivalent sind.
Kann es sein, daß dein Unterprogramm noch von einer anderen Stelle aus aufgerufen wird? Dann würde dein Breakpoint an zwei verschiedenen Stellen im Programm zum tragen kommen und die Variable könnte zwei unterschiedliche Werte haben. Die einfachst Methode ist ein weiterer Breakpoint VOR (!) dem Einsprung in das Unterprogramm; dieser muß auf jeden Fall vor dem ursprünglichen Breakpoint erreicht werden (logischerweise).
Ansonsten… gibt es irgendwo im Programm eine Routine, die diese Variable noch verändert (z.B. in einem Unterprogramm). Gibt es irgendwo in einer Prozedur/Funktion ein Variable gleichen Namens - du könntest glauben, der globalen Variablen einen Wert zuzuweisen, während tatsächlich die lokale Variable geändert wird.
Ist der Array bei Programmstart korrekt initialisiert?
Markus
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]