Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> C /C + + -programmering >> Content

    Hur man fixar en buffertöverskridning

    En buffertöverskridning , eller buffer overflow , är ett problem där ett datorprogram skriver mer data till en buffert än har anslagits för denna buffert . Som ett resultat skrivs data till en intilliggande del av minnet , kanske skriva över andra data. Detta kan leda till att program för att agera oförutsägbart och kan orsaka den att krascha . Den kan också utnyttjas för att utlösa driften av ett skadligt program. Som sådan , är det alltid klokt att undvika buffertspill i ett program . Saker du behöver
    Källkod innehållande buffert Compiler overflow
    för språket i denna källkod
    Visa fler instruktioner
    1

    Begränsa din sökning . Du kan göra detta genom att skriva ut debug information och genom att förhindra delar av programmet från att köras . Buffertspill kan vara svåra att spåra eftersom bevisen är inte alltid konsekvent . Men om den bevisning som ni har försvinner när en del av programmet hindras från att köra , är det en bra indikation på problemet är med den delen .
    2

    Läs källkoden . När du har tillräckligt minskat din sökning , titta igenom källkoden för något som potentiellt kan orsaka ett överflöd . Ibland är det i en slinga som skriver bortom längden av en array. Ibland är det en sammansättning av strängar till en sträng större än bufferten anslagits för den raden . Addera 3

    Fixa felet . Om problemet var att skriva förbi en arrays gränser , se vad orsakade det fungerar korrekt , eller att uppsättningen är rätt storlek ändras vid behov . Se till att alla sträng buffertar är stor nog att rymma de strängar de kan hålla .
    4

    vidta förebyggande åtgärder . Använd bounds - kontrollfunktioner för att garantera att minnet är aldrig över. Dynamiskt ändra storlek arrayer som nödvändigt. Håll noga koll på alla potentiella minne skriver att de aldrig skriver till fel område av minne .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur du kontrollerar om Ctrl - D i C + +
    ·Så här konfigurerar Joomla Debugging i Eclipse
    ·Hur man åsidosätta en Accessor metod i Objective - C
    ·Hur du programmera Cocoa på en iPhone
    ·Hur man gör en iPhone App Really Simple
    ·Konvertera Brev till nummer i en String Table
    ·Hur man skapar ett omedelbart kopiera en länkad lista
    ·Hur man driver en iPhone Developer Xcode
    ·Lägga GridView
    ·Hur man programmerar Återstår Operator
    Utvalda artiklarna
    ·IDLE Python Tutorial
    ·Hur man genomför Class Priority Queue Använda Array
    ·Hur man skapar en miniräknare med Visual Basic & ArcGI…
    ·Hur man aktivera en viss View i en MultiView
    ·Hur du ändrar en MySQL användarlösenord i cPanel
    ·Hur till Redigera HTML webbplatser
    ·Hur man skriver enkla algoritmer
    ·Hur man navigera från jQuery Modal fönster till en an…
    ·Hur man använder Itemcheck Event i Visual Basic
    ·Hur att stänga en JFrame
    Copyright © Dator Kunskap http://www.dator.xyz