Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Computer Programmeringsspråk >> Content
    Hvordan oppdage Stack Overflow
    Computer programmeringsspråk stole på en samtale stack datastruktur --- noen gjøre sin tilstedeværelse eksplisitt til programmereren , mens alle er avhengige av en stabel for programmet hopper som må gå tilbake til stedet der det opprinnelige programmet slapp etter å ha utført noen form for subrutine . Før du overfører kontrollen til bruker , angir et program maksimal størrelse for samtalen stabelen , blant annet forberedelser . Noen ganger kan et program avbrytes på grunn av en segmentering feil , som kan være forårsaket av en rekke faktorer. Du kan enkelt oppdage er en stack overflow er i roten av problemet ved å bruke en debugger . Du trenger
    Kildekoden for programmet
    Compiler for programmet
    Source -level debugger med støtte for visning av en backtrace
    Vis flere instruksjoner
    1 < p> rekompilere programmet som gir segmentering feil slik at alle debugging symboler er knyttet til det . For eksempel , for en C + + program på alle operativsystemer med GNU pakke med verktøy , utføre : en

    " g+ + - g program.c -o -programmet"

    der " - g " alternativet instruerer kompilatoren å inkludere debugging symboler.
    2

    Kjør programmet til den stopper på grunn av en segmentering feil . For eksempel utføre : en

    "program"
    3

    Påberope debugger på programmet rett etter segmentering feil . For eksempel utføre : en

    " gdb program "
    4

    Vise en backtrace bruker debugger . Alle source -nivå debuggers har muligheten til å vise en kjede av løkkefunksjonen besvergelser på den tiden av programmet krasjer . For vår " gdb " eksempel skrive inn " gdb : "

    " backtrace "
    5

    Undersøk tilbakesporingen for tegn på en uendelig rekursjon . Er en enkelt funksjon navn gjentatt flere ganger enn nødvendig før ulykken ? Er det noen funksjoner som ringer hverandre (for eksempel gjensidig rekursjon ) for mange ganger før ulykken ? Hvis svaret på begge spørsmål er "ja", programmet stoppet på grunn av en stack overflow . Den mest sannsynlige årsaken til stack overflow i high- level språk er feil kodet basen tilfeller.

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan Tile en bakgrunn i HTML 
    ·Slik konverterer VHD til Acronis 
    ·Slik konverterer RDB filer til Mpeg 
    ·Hva er Data Persistens 
    ·Office Communicator Protokoller 
    ·Slik skjuler tittellinje Borders 
    ·Hvordan lese en Hex File 
    ·Hva er en kommando Argument 
    ·SQL Fundamentals Trening 
    ·Høynivå programmeringsspråk Språk 
      Anbefalte artikler
    ·Slik avgjør du bruke Python 
    ·Hvordan å programmere en Port Address 
    ·Hvordan lære Visual C + + 
    ·Hvordan du redigerer Silverlight datarutenett 
    ·Hvordan få tilgang til Word- tabeller ved hjelp av Exc…
    ·Skrive tekst i OpenGL 
    ·Slik konfigurerer Perl i XAMPP 
    ·Hvordan oppdage Real Player Plug -In for Visual Basic 
    ·Hvordan bruke Microsoft Basic 
    ·Hvordan endre passord i PHP Scripts for MySQL 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/