2012-10-11 9 views

Antwort

7

Betrachten Sie den folgenden Stapel, die nach unten im Speicher wächst:

+----------------+ 
| some data  | | 
+----------------+ | growth of stack 
| 20-byte string | V 
+----------------+ 
limit of stack 

ein Pufferüberlauf tritt auf, wenn Sie 30 Bytes zu Ihrem 20-Byte-String schreiben. Dies korrumpiert Einträge weiter oben im Stapel ('einige Daten').

Ein Stapelüberlauf ist, wenn Sie versuchen, etwas anderes auf auf den Stapel zu schieben, wenn es bereits voll ist (wo es "Limit of Stack" sagt). Stacks sind typischerweise in ihrer maximalen Größe begrenzt.

0

Stackoverflow erscheint, wenn kein Platz mehr im Speicher ist Ihre Daten zuzuordnen und buffer overrun auch bekannt als buffer overflow wird aufgerufen, wenn Programmpuffergrenze Überschreitungen und schreibt/überschreibt Daten in unerwartetem Teil des Speichers (braucht mehr Speicher als erwartet).

Leicht können Sie dies verstehen, indem Sie einfach die Beschreibung der Tags stackoverflow und buffer overflow lesen.

Verwandte Themen