Varje minut av produktionsstopp kostar i allmänhet ett företag pengar. Om din ansökan har en allvarlig fråga som orsakar stackkrossning, är du ute efter en åktur. Lär dig vilken stackkrossning som är på förhand och vad som kan göras åt det!
< p> Arbetar som kvalitetssäkringsingenjör kommer man förr eller senare att stöta på termen stack smashing . Som utvecklare kommer man sannolikt att upptäcka den här termen ännu tidigare, särskilt om man har infört ett fel i koden, vilket orsakar en krossad stack. Det är relativt enkelt (som i & # 8216; något lätt & # 8217; ) för en utvecklare att göra ett misstag som introducerar stackkrossning. När du lär dig mer om stackkrossning är användaren troligen redan skadad.
Stackkrossning kan hända ofrivilligt & # 8211; till exempel när utvecklaren introducerade ett fel som orsakade stackkrossning & # 8211; eller skadligt & # 8211; en angripare som på något sätt försöker flyta över eller korrumpera stacken i ett program.
Stackkrossning är en något löst definierad term som kan peka på olika problem och kan komma från en mängd olika källor. De två mest framträdande frågorna som kan orsaka stackkrossning är; 1) att skriva/överallokera för mycket data i en viss del av stacken och därigenom skriva över en annan del av stacken, och 2) där någon extern källa (skadlig eller inte) skrivit över ett annat programs stack, även om detta är mycket mindre vanligt.
Så vad är en stack? Detta är också en löst definierad term. Generellt sett hänvisar en stack till en programbearbetningsstack, en stack med funktioner som definierats i ett givet program/en viss programvara.
Börja med att föreställa dig en stapel badrumsplattor staplade upp, redo att används av en plattsättare. Detta är en ganska bra representation av en datorstapel, med några modifieringar. Om varje kakel var lite förskjuten från den tidigare skulle det vara en bättre bild, och vi kommer snart att se varför.