Na dein Programm macht doch auch nichts?!
Es führt schnell die Funktion vor der while-Schleife aus, und geht dann in die leere Unendlichschleife und macht dann nichts mehr.
Wenn er also nicht mehr reagiert, macht er ganz genau das was du programmiert hast!

Und noch ein paar Grundsätzliche Dinge.
Code:
for(unsigned int a=0;a>15;a++);
Dir ist schon klar das diese Schleife nie laufen wird?!
Außerdem ist die Verwendung eines Int, egal ob signed oder unsigned, an der Stelle eine riesen Verschwendung von Speicher!

Ein Stack ist ein Speicherbereich, ich würde es auf keinenfall ignorieren und mal gucken wo das Problem herkommt.